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

  • Google Analytics

    Google Analy

    25 ŞUBAT 2008
  • InfinityWard

    InfinityWard

    19 EYLÜL 2006
  • manadude21

    manadude21

    11 Mart 2008