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

  • fufko

    fufko

    27 ŞUBAT 2006
  • infiniTuts

    infiniTuts

    18 Ocak 2012
  • TSE

    TSE

    12 Kasım 2012