Классы Type
метаданные могут быть получены несколькими способами. Два из них:
var typeInfo = Type.GetType("MyClass")
и
var typeInfo = typeof(MyClass)
Преимущество второго пути состоит в том, что опечатки будут найдены компилятором, и IDE может понять то, что я говорю о (разрешение функций как рефакторинг работать, тихо не взламывая код)
Там существует эквивалентный способ сильной ссылки на участников/свойства/методы для метаданных и отражения? Могу я заменять:
var propertyInfo = typeof(MyClass).GetProperty("MyProperty")
с чем-то как:
var propertyInfo = property(MyClass.MyProperty)
Нет, к сожалению, нет. Это обсуждалось и даже называлось: infoof
(произносится как «in-foof» для комедии), но это не реализовано ... пока. Эрик Липперт написал об этом в блоге .
Самое близкое, что вы можете сделать в C # 3, - это заставить компилятор генерировать дерево выражений, а затем извлекать его из него, но это вряд ли приятно.