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

  • Dive In

    Dive In

    17 Temmuz 2013
  • New Challenger - Game Reviews

    New Challeng

    20 Temmuz 2006
  • Shantanu Sood

    Shantanu Soo

    3 Kasım 2008