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

  • CommonArtisan

    CommonArtisa

    7 Temmuz 2012
  • David MeShow

    David MeShow

    10 EKİM 2006
  • Fullscreen

    Fullscreen

    23 Mart 2006