Qué bonito sería poder hacer algo como:
if (!MyString.IsNull()) return MyString.ToString();Leí hace unos cuantos años que hacer eso sería imposible porque, al ser el objeto null no podrías llamar al método o algo así… Pero en mi cabeza tenía sentido.
Así que me he estado conteniendo para no hacerlo todo este tiempo hasta hoy que me he sentido valiente.
Los métodos extensores:
public static bool IsNull(this string str)
{
return str == null;
}
public static string ToStringSafe(this object obj)
{
return (obj ?? string.Empty).ToString();
}
El método main static void Main(string[] args)
{
string str = null;
if (str.IsNull())
Console.WriteLine("It was null...");
else
Console.WriteLine("It wasn't null...");
Console.WriteLine(str.ToStringSafe());
Console.ReadKey();
}
¡Y funciona! El primer ejemplo útil que se me viene a la cabeza
///Con este método nunca más tendremos que preocuparnos de si el objeto es null o no. Todo se libera sin problemas./// Disposes the object if it's not null. /// public static void DisposeSafe(this IDisposable DisposableObject) { if (DisposableObject != null) DisposableObject.Dispose(); }
No hay comentarios:
Publicar un comentario