C # Отражение на объекте типа - PullRequest
0 голосов
/ 30 апреля 2019

Чтобы уточнить, да, я хочу перечислить свойства и значения объекта 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 ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...