Déclaration d'une liste de types

Je veux déclarer une liste contenant des types fondamentalement:

List<Type> types = new List<Type>() {Button, TextBox };

Est-ce possible?

21
demandé sur Luiscencio 2009-10-24 00:28:39

5 réponses

Essayez ceci:

List<Type> types = new List<Type>() { typeof(Button), typeof(TextBox) };

L'opérateur typeof() est utilisé pour renvoyer le System.Type d'un type.

Pour les instances d'objet, vous pouvez appeler la méthode GetType() héritée de L'objet.

47
répondu Yannick Motton 2009-10-23 20:30:59

Vous l'avez presque avec votre code. Utiliser typeof et pas seulement le nom du type.

List<Type> types = new List<Type>() {typeof(Button), typeof(TextBox) };
13
répondu Adam Sills 2009-10-23 20:31:00

Oui, utilisez List<System.Type>

var types = new List<System.Type>();

Pour ajouter des éléments à la liste, utilisez le mot clé typeof.

types.Add(typeof(Button));
types.Add(typeof(CheckBox));
5
répondu Matt Brunell 2009-10-23 20:30:01
List<Type> types = new List<Type>{typeof(String), typeof(Int32) };

Vous devez utiliser le mot-clé typeof.

4
répondu Greg 2009-10-23 20:32:00

Utiliser une liste générique typée:

List<Type> lt = new List<Type>();
1
répondu 3Dave 2009-10-23 20:30:16