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

  • Awesome Toys TV

    Awesome Toys

    18 HAZİRAN 2014
  • Bokeh

    Bokeh

    9 HAZİRAN 2014
  • khloe brooks

    khloe brooks

    25 Temmuz 2011