Получить TypeInfo в статическом конструкторе - PullRequest
4 голосов
/ 31 июля 2009

Есть ли способ получить эквивалент GetType в статическом конструкторе?

Я хочу перебрать доступные свойства типа в статическом конструкторе, но GetType является методом экземпляра? Почему это? Тип информации должен существовать в статическом контексте. Есть ли способ обойти это?

Ответы [ 2 ]

2 голосов
/ 31 июля 2009

Просто используйте

Type type = typeof(TheCurrentType);

Он никогда не должен быть более сложным, чем этот, поскольку вы всегда знаете фактический тип; нет никакого полиморфизма, чтобы иметь дело с в статических методах.

0 голосов
/ 18 июня 2014

Я не думаю, что вы можете получить производные типы (кроме как перебирать все типы, чтобы увидеть, что происходит от текущего типа). Чтобы получить текущий тип, вы можете:

Type currentType = (new StackFrame()).GetMethod().DeclaringType;
...