Чтобы уточнить, да, я хочу перечислить свойства и значения объекта System.Type, поэтому я использую "typeof (Type) .GetProperties ()" вместо "TheTypeObj.GetProperties ()».
Я пытаюсь перечислить все имена и значения свойств объекта Type , но получаю ошибку. Это то, что я до сих пор:
using System.Reflection;
public static string list_properties(Type TheTypeObj)
{
var Str = "\n";
object Name, Value;
foreach (var ThePropertyInfo in typeof(Type).GetProperties(BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public))
{
Name = ThePropertyInfo.Name;
Value = ThePropertyInfo.GetValue(TheTypeObj); //this line throws the error
Str += Name + ": " + Value.ToString() + "\n";
}
return Str;
}
Когда я использую его в контексте:
list_properties((new Object()).GetType());
Я получаю эту ошибку:
Значение = ThePropertyInfo.GetValue (TheTypeObj);
InvalidOperationException: метод может быть вызван только для типа для
какой Type.IsGenericParameter имеет значение true.
Как мне перечислить свойства и значения объекта Type ?