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

  • DRDAnimation

    DRDAnimation

    28 EYLÜL 2012
  • Numberphile

    Numberphile

    15 EYLÜL 2011
  • xXGAMERrs_Xx

    xXGAMERrs_Xx

    31 Temmuz 2014