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

  • Gan Eden Productions

    Gan Eden Pro

    11 HAZİRAN 2011
  • IGN

    IGN

    19 EYLÜL 2006
  • Sergio Lafuente Rubio

    Sergio Lafue

    11 Aralık 2008