SORU
12 AĞUSTOS 2008, Salı


Genel tür dize dönüştürme

""Başka bir sınıf için. özelliklerini depolamak için kullanmak istediğiniz bir ders var. Bu özellikler, sadece bir isim ve bir değer var. İstediğim ideal olarak, eklemek mümkün olacakyazdınızözellikleri, böylece "değer" iade olmasını istiyorum bu türü her zaman.

Bu tür her zaman bir ilkel olmalıdır. Bu sınıf temel olarak string olarak adını ve değerini saklayan bir soyut sınıfın alt sınıfları. Fikir bu alt sınıf olmanın bazı temel sınıf türü-emanet (olarak bazı dönüşüm beni kurtardığın) ekleyecektir.

Yani, (kabaca) bu bir sınıf oluşturduk:

public class TypedProperty<DataType> : Property
{
    public DataType TypedValue
    {
        get { // Having problems here! }
        set { base.Value = value.ToString();}
    }
}

Şimdi soru şu:

Orada bir "genel" yolunu dizeden bir ilkel geri dönüştürmek için?

Yönüyle dönüştürme (gibi bir şey . bağlayan herhangi bir genel arabirim bulmak için görünmüyor olabilir ^em>İTryParsableideal olurdu!).

CEVAP
12 AĞUSTOS 2008, Salı


Niyetin doğru anladım, ama eğer bu yardımcı olur bir bakalım mı emin değilim.

public class TypedProperty<T> : Property where T : IConvertible
{
    public T TypedValue
    {
        get { return (T)Convert.ChangeType(base.Value, typeof(T)); }
        set { base.Value = value.ToString();}
    }
}

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
  • Jejoab

    Jejoab

    4 NİSAN 2008
  • The Onion

    The Onion

    14 Mart 2006