Есть ли способ получить эквивалент GetType в статическом конструкторе?
Я хочу перебрать доступные свойства типа в статическом конструкторе, но GetType является методом экземпляра? Почему это? Тип информации должен существовать в статическом контексте. Есть ли способ обойти это?
Просто используйте
Type type = typeof(TheCurrentType);
Он никогда не должен быть более сложным, чем этот, поскольку вы всегда знаете фактический тип; нет никакого полиморфизма, чтобы иметь дело с в статических методах.
Я не думаю, что вы можете получить производные типы (кроме как перебирать все типы, чтобы увидеть, что происходит от текущего типа). Чтобы получить текущий тип, вы можете:
Type currentType = (new StackFrame()).GetMethod().DeclaringType;