Compruebo continuamente los campos de cadena para comprobar si son nulos o están en blanco.String.IsNullOrBlank Método de extensión
if(myString == null || myString.Trim().Length == 0)
{
throw new ArgumentException("Blank strings cannot be handled.");
}
Para ahorrarme un poco de tipeo ¿es posible crear un método de extensión para la clase String que tenga el mismo efecto? Entiendo cómo se pueden agregar los métodos de extensión para una instancia de clase, pero ¿qué pasa con agregar un método de extensión estática a una clase?
if(String.IsNullOrBlank(myString))
{
throw new ArgumentException("Blank strings cannot be handled.");
}
Bill Wagner en "Más eficaz C#" recomienda no hacer que las funciones de extensión funcionen con instancias nulas (págs.183) La razón es que la extensión se supone que los métodos se parecen a las llamadas a métodos, y no se puede llamar a un método con una instancia nula. –
Curiosamente, C# no le permite llamar a un método con una instancia nula ya que emite una instrucción callvirt IL. IL si realiza una llamada a través de la instrucción "call" puede llamar en una instancia nula. – Sean
@dan - No creo que un método t El sombrero implica una comprobación nula en su nombre es un mal uso para los métodos de extensión. – Maslow