Così, sto facendo un sacco di lavoro di database in un'applicazione - e ci sono diversi valori di ritorno possibili del mio sistema di caching. Può restituire null, può restituire un valore predefinito (type) o può restituire un oggetto non valido (da oggetto non valido, intendo uno con proprietà/valori errati). Voglio creare un metodo di estensione per fare tutti questi controlli per me, in questo modo:Metodo di estensione controllo nullo
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;
}
Il problema è, il mio compilatore mi sta dicendo che if (obj == default(T))
sarà sempre falso.
Perché è quello?
Ti sta dando un errore o un avvertimento del compilatore. Non sto ottenendo nessuno dei due compila bene. –
@GregB. È probabilmente 'resharper' che gli dà un suggerimento ... – gdoron
@GregB si, ho resharper. – caesay