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

  • Epic Tutorials for iPhone, iPad and iOS

    Epic Tutoria

    18 EYLÜL 2011
  • Gavin Hoey

    Gavin Hoey

    21 Aralık 2007
  • Wronchi Animation

    Wronchi Anim

    9 Mayıs 2011