Объявление списка типов - PullRequest
25 голосов
/ 24 октября 2009

Я хочу объявить список, содержащий типы в основном:

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

это возможно?

Ответы [ 5 ]

53 голосов
/ 24 октября 2009

Попробуйте это:

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

Оператор typeof() используется для возврата System.Type типа.

Для экземпляров объекта вы можете вызвать метод GetType(), унаследованный от Object.

13 голосов
/ 24 октября 2009

У вас почти есть это с вашим кодом. Используйте typeof, а не только имя типа.

List<Type> types = new List<Type>() {typeof(Button), typeof(TextBox) };
5 голосов
/ 24 октября 2009

Да, используйте List<System.Type>

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

Чтобы добавить элементы в список, используйте ключевое слово typeof.

types.Add(typeof(Button));
types.Add(typeof(CheckBox));
4 голосов
/ 24 октября 2009
List<Type> types = new List<Type>{typeof(String), typeof(Int32) };

Вам необходимо использовать ключевое слово typeof.

1 голос
/ 24 октября 2009

Используйте типизированный общий список:

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