c# - significado - ¿Cómo verificar si un parámetro de tipo genérico es anulable?
t generic type c# (1)
Puedes usar Nullable.GetUnderlyingType
:
var t = typeof(T);
// ...
if (Nullable.GetUnderlyingType(t) != null)
{
// T is a Nullable<>
}
Posible duplicado:
Determine si un parámetro genérico es de tipo Nullable
Estoy tratando de determinar si un parámetro de tipo es Nullable.
public T Get<T>(int index)
{
var none=default(T);
var t = typeof(T);
BaseVariable v = this[index].Var;
if (T is Nullable) //compiler error
{
if (v == ... )
{
return none;
}
}
//....
}
¿Cómo hago esto? He intentado hacer t == typeof(Nullable)
pero eso siempre resultó falso.
Lo que quiero que suceda es para foo.Get<bool?>(1)
a null a veces.