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

  • FILIPeeeK

    FILIPeeeK

    22 Mayıs 2006
  • MobileTechReview

    MobileTechRe

    6 HAZİRAN 2008
  • VJ VIMANA

    VJ VIMANA

    3 Mayıs 2007