SORU
20 EYLÜL 2008, CUMARTESİ


Nasıl bir Sistem dönüştürebilirim.Null versiyonu için tür?

Bir kez daha şu: "orada bir kolay yerleşik yardımcı benim yöntem yerine?" şeyler yapmanın yolu

Kolay null olabilecek bir tür temel türü bu, ama nasıl bir null sürümünü alabilirim .NET tür?

Var

typeof(int)
typeof(DateTime)
System.Type t = something;

ve istiyorum

int? 
DateTime?

ya

Nullable<int> (which is the same)
if (t is primitive) then Nullable<T> else just T

Bir yerleşik bir yöntem var mı?

CEVAP
20 EYLÜL 2008, CUMARTESİ


Burada kullandığım kod:

Type GetNullableType(Type type) {
    // Use Nullable.GetUnderlyingType() to remove the Nullable<T> wrapper if type is already nullable.
    type = Nullable.GetUnderlyingType(type);
    if (type.IsValueType)
        return typeof(Nullable<>).MakeGenericType(type);
    else
        return type;
}

Edit: Orijinal kodu type kendisi *9.* eğer beklenmedik bir şekilde davranacaktı bir hata vardı

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Doc Adams

    Doc Adams

    20 HAZİRAN 2007
  • multimediaGEEKS LLC

    multimediaGE

    3 Mayıs 2010
  • YouChewBu

    YouChewBu

    26 Ocak 2009