¿Cómo decide el sistema de resolución de sobrecarga de métodos qué método llamar cuando se pasa un valor nulo?
Entonces, por ejemplo, tienes un tipo como:
public class EffectOptions
{
public EffectOptions ( params object [ ] options ) {}
public EffectOptions ( IEnumerable<object> options ) {}
public EffectOptions ( string name ) {}
public EffectOptions ( object owner ) {}
public EffectOptions ( int count ) {}
public EffectOptions ( Point point ) {}
}
Aquí solo doy el ejemplo usando constructores, pero el resultado será el mismo si fueran métodos no constructores en el tipo en sí, ¿verdad?
Así que cuando lo haces:
EffectOptions options = new EffectOptions (null);
¿Qué constructor se llamaría y por qué?
Podría probar esto yo mismo, pero quiero entender cómo funciona el sistema de resolución de sobrecarga (no estoy seguro de si así se llama).