種類

2009-10-23 24 views
19
私は基本的なタイプを含むリスト宣言したい

のリスト宣言:これが可能である種類

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

を?

+0

これは何のために使用していますか? –

+0

私は、ユーザーがフォームに入力するデータを検証/検証するための一連の関数の開発を進めています。 – Luiscencio

答えて

45

はこれを試してみてください。

オブジェクトインスタンスの場合、Objectから継承したGetType()メソッドを呼び出すことができます。

+4

宣言を 'var'を使用するように変更してください。 :P – Noldorin

+0

後世のシナリオのわずかなバリエーション:インスタンス/オブジェクトがあり、そのタイプを同じリストに含める場合は、オブジェクトの.GetType()プロパティを使用します。次の「myButton」変数の使用方法を参照してください。 Button myBtn = new Button(); リストタイプ=新しいリスト(){myBtn.GetType()、typeof(TextBox)}; –

+0

これがメソッド本体の型以外の場所で宣言されている場合、varキーワードは使用できません。しかし、はい、方法でvarを使うことができます(そして、そうするべきです)。 –

5

はい、typeofをキーワードを使用し、リストに項目を追加するにはList<System.Type>

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

を使用しています。

types.Add(typeof(Button)); 
types.Add(typeof(CheckBox)); 
+0

「ボタンは型ですが変数として使用されています」 – Luiscencio

1

入力された一般的なリストを使用してください:typeof()オペレータはタイプのSystem.Typeを返すために使用され

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

List<Type> lt = new List<Type>(); 
13

ほとんどの場合、コードがあります。タイプの名前だけではなく、typeofを使用してください。

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

あなたがtypeof演算のキーワードを使用する必要があります。