Por lo tanto, estoy haciendo una gran cantidad de trabajo de base de datos en una aplicación, y hay varios posibles valores de retorno de mi sistema de almacenamiento en caché. Puede devolver nulo, puede devolver un valor predeterminado (tipo) o puede devolver un objeto no válido (por objeto no válido, me refiero a uno con propiedades/valores incorrectos). Quiero crear un método de extensión para hacer todas esas comprobaciones para mí, así:Método de extensión de comprobación nula
public static bool Valid<T> (this T obj) where T: class
{
if (obj == null)
return false;
else if (obj == default(T))
return false;
//Other class checks here
else
return true;
}
El problema es que mi compilador me dice que siempre habrá if (obj == default(T))
falsa.
¿Por qué es eso?
Le está dando un error o advertencia del compilador. No recibo ninguno. compila bien –
@GregB. Probablemente sea 'resharper' lo que le da una pista ... – gdoron
@GregB sí, tengo un reafilamiento. – caesay