Załóżmy, że mam następujące klasy:Zrozumienie generycznych C# i typu wartości Nullable. Zwróci null lub zerowalne
public class GenericClass<T>
{
public T Find()
{
//return T if found otherwise null or Nullable<T>
}
}
Gdzieś Chciałbym specjalizować moją klasę używając T
z class
, innym razem z struct
. Mam do czynienia z tym issue: Nie mogę zwrócić Nullable<T>
, jeśli typ T
nie jest ograniczony do struct
.
Chciałbym zapewnić realizację mojego sposobu Find
który działa jeśli T
specjalizuje się zarówno class
lub struct
. W przypadku niepowodzenia Find
, chciałbym zwrócić null
, jeśli T
jest klasą inaczej Nullable<T>
.
Czy to możliwe bez użycia odbicia? Jeśli tak, to w jaki sposób?
nie można powrócić T lub pustych jeśli typ zwracany jest T. –
fsimonazzi