Passer D'Un Système Instancié.Type de Type de Paramètre pour une Classe Générique

Le titre est une sorte d'obscur. Ce que je veux savoir c'est si c'est possible:

string typeName = <read type name from somwhere>;
Type myType = Type.GetType(typeName);

MyGenericClass<myType> myGenericClass = new MyGenericClass<myType>();

Évidemment, MyGenericClass est décrit comme:

public class MyGenericClass<T>

Droit maintenant, le compilateur se plaint que " Le type ou d'espace de noms 'myType' n'a pas pu être trouvé." Il y a obtenu d'être une façon de le faire.

  • Les génériques != modèles. Tous les génériques des variables de type sont résolus au moment de la compilation et non à l'exécution. C'est l'une de ces situations où la "dynamique" type de 4.0 peut être utile.
  • de quelle manière? Lorsqu'il est utilisé avec les médicaments génériques, en vertu de l'actuel CTP, vous retrouvez l'appel de la <object> les versions (sauf si je suis en manque un truc...)
  • vous pouvez utiliser foo.Method((dynamic)myGenericClass) pour le moment de l'exécution de la méthode de liaison, effectivement le service localisateur de modèle pour un type de méthode de surcharges.
  • oui, pour certains génériques public void Method<T>(T obj) - un truc que j'ai utilisé plus d'une fois dans les 6 dernières années depuis que le commentaire ;p
  • est-il un moyen de modifier ça pour que la méthode instancie il?