Je veux déclarer une liste contenant essentiellement types:Déclarant une liste des types
List<Type> types = new List<Type>() {Button, TextBox };
est-ce possible?
Je veux déclarer une liste contenant essentiellement types:Déclarant une liste des types
List<Type> types = new List<Type>() {Button, TextBox };
est-ce possible?
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 Object.
Changez la déclaration pour utiliser 'var' et vous avez mon up-vote. : P – Noldorin
Une légère variation du scénario pour la postérité: si vous avez une instance/objet et que vous voulez inclure son type dans la même liste, utilisez la propriété .GetType() de l'objet - par ex. voir l'utilisation de la variable 'myButton' dans ce qui suit: Bouton myBtn = new Button(); Liste
Si cela est déclaré ailleurs que dans un corps de méthode, le mot-clé var n'est pas disponible. Mais oui vous pouvez (et devriez) utiliser var dans une méthode. –
Oui, utiliser 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));
Je reçois une erreur: "Le bouton est de type mais est utilisé comme une variable" – Luiscencio
Utilisez une liste générique typée:
List<Type> lt = new List<Type>();
Vous l'avez presque avec votre code. Utilisez typeof et pas seulement le nom du type.
List<Type> types = new List<Type>() {typeof(Button), typeof(TextBox) };
List<Type> types = new List<Type>{typeof(String), typeof(Int32) };
Vous devez utiliser le mot-clé typeof.
Pour quoi utilisez-vous cela? –
Je travaille sur un ensemble de fonctions pour vérifier/valider les données Les utilisateurs entrent dans un formulaire. – Luiscencio