Метод, принимающий имя типа в качестве аргумента для коллекции имен типов - PullRequest
2 голосов
/ 21 апреля 2019

При использовании оператора typeof мы предоставляем имя типа для получения экземпляра System.Type:

System.Type t = typeof(System.Int32)

или просто:

Type t = typeof(int)

Каково точное имя / характер параметра, передаваемого оператору?.

Как собрать коллекцию таких "имен типов":

???[] typeNames = { System.Int32, System.String };
foreach (??? tn in typeNames) aMethod(tn);

1 Ответ

4 голосов
/ 21 апреля 2019

Каково точное имя / характер параметра, передаваемого оператору?.

Имя типа - не в виде строки, а буквально присутствует в коде.

Как собрать коллекцию таких "имен типов"

Вы не можете, но вы можете использовать typeof несколько раз:

Type[] types = { typeof(int), typeof(string) };

Если вы действительно заинтересованы в именах , вы можете использовать оператор nameof:

string[] names = { nameof(Int32), nameof(String) };
...