SORU
3 Kasım 2010, ÇARŞAMBA


Yazın 'T' olamaz değere dönüştürülmesi

Bu büyük olasılıkla bir acemi bir soru olacak ama google şaşırtıcı bir cevap vermedi.

Oldukça yapay bu yöntem var

    T HowToCast<T>(T t)
    {
        if (typeof(T) == typeof(string))
        {
            T newT1 = "some text";
            T newT2 = (string)t;
        }

        return t;
    }

C bilgim gelen bu çalışması bekleniyor. Ancak, "türü örtülü olarak 'T'" ve "tipi" '" yukarıda atamaları için hem de. T dizeye dönüştürülemiyor dizeye dönüştürülemiyor ile derleme başarısız

Kavramsal olarak yanlış bir şey yapıyorum ya da yanlış sözdizimi vardır. Bana bu tür bir yardım lütfen.

Teşekkür ederim!

CEVAP
3 Kasım 2010, ÇARŞAMBA


if bir blok içinde olsa bile, derleyici T string olduğunu bilmiyor.
Bu nedenle, dökme izin vermez. (Olamaz string DateTime dökme aynı sebepten)

İhtiyacınız atama object, (herhangi bir T can atmak) ve oradan string (object olabilir döküm string).
Örneğin:

T newT1 = (T)(object)"some text";
string newT2 = (string)(object)t;

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Autocar

    Autocar

    11 Mart 2006
  • Branboy3

    Branboy3

    12 AĞUSTOS 2012
  • Damien Hayes

    Damien Hayes

    11 Mart 2008