Если вы знаете тип, вы сможете отразить тип и получить всю необходимую информацию.
Type.GetMembers , вероятно, будет вашим лучшим выбором.Вам также может понадобиться второй вызов для получения любых статических методов:
var instanceMembers = typeof(Color)
.GetMembers(BindingFlags.Instance | BindingFlags.Public);
var staticMembers = typeof(Color)
.GetMembers(BindingFlags.Static | BindingFlags.Public);
Каждый объект MemberInfo сможет сообщить вам MemberType (свойство, поле, метод, событие и т. Д.)
Просто используйте instanceMembers
, когда пользователь вводит переменную (например, c
в вашем примере), затем .
и используйте staticMembers
, когда пользователь вводит имя типа (например, Color
в вашем примере)затем .
.