Convertir le Type de Définition de Classe Générique

Je voudrais convertir un System.Type Générique de la définition de Type, donc je peux l'utiliser pour appeler des méthodes Génériques. Fondamentalement, à l'inverse de typeof.

Exemple (j'ai utilisé "classof" où j'aurais besoin de la vraie solution pour que vous voyez où j'ai eu un problème, comme classof n'est pas un vrai .Méthode NETTE):

public class BaseAppContext {

    private Type settingsType;

    public Type SettingsType
    {
        get { return this.settingsType; }
        set { this.SettingsType = value; }
    }    

    public void MyFunction() {
      MyStaticClass.GetData<classof(this.SettingsType)>();
    }
}

Seulement un peu plus d'informations pourquoi je suis à l'aide de cette étrange façon de gérer le problème. BaseAppContext est une classe qui est appelé par beaucoup d'autres classes. Si j'allait le rendre Générique qui signifierait beaucoup d'autres parties du code allait changer, que je ne veux pas. Je suis en train d'écrire un cadre, je voudrais donc, pour le cadre d'entrée du type une fois, et les développeurs peuvent seulement utiliser les fonctions fournies sans avoir à traiter avec le type, à chaque fois, essayez d'appeler une méthode.

Qui n'a pas de sens. Que seriez-vous capable de faire avec un List<classof(X)>? Quelles contraintes?

OriginalL'auteur nino | 2012-02-06