SORU
6 NİSAN 2009, PAZARTESİ


Nasıl dize gösterimi genel Tür alabilir miyim

MyClass<T> var.

Ve sonra string s = "MyClass<AnotherClass>"; var< / ^ br . Nasıl dize s Type alabilir miyim ?

Bir şekilde (çirkin) <"""^. " ve: . ve ayrıştırmak için

Type acType = Type.GetType("AnotherClass");  
Type whatIwant = typeof (MyClass<>).MakeGenericType(acType);

Ama orada herhangi bir ayrıştırma vb olmadan son türü için daha temiz bir yoldur. ? Teşekkürler.

CEVAP
6 NİSAN 2009, PAZARTESİ


format for generics adı, bir ` karakter, tür parametreleri, parantez içinde: türlerinin virgülle ayrılmış listesi tarafından takip sayısıdır

Type.GetType("System.Collections.Generic.IEnumerable`1[System.String]");

CLR istiyor dize bir jenerik için C# sözdizimi dönüştürmek için kolay bir yol var emin değilim. Senin gibi bunu ayrıştırmak için hızlı bir düzenli ifade söz konusu sözü yazmaya başladım, ama türü parametre olarak iç içe jenerik yeteneği vermezsen ayrıştırma çok karmaşık olduğunu anladı.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Electro Posé

    Electro Pos�

    21 ŞUBAT 2013
  • LiveForGodsKingdom

    LiveForGodsK

    6 NİSAN 2008
  • TheRightTire

    TheRightTire

    14 EKİM 2009