Метод получения полей и свойств с помощью отражения c # - PullRequest
0 голосов
/ 12 апреля 2019

я использую два массива в моем коде:

 var fields = typeof(MyDtoClass).GetProperties();
 var fieldsOfDtoClass = typeof(MyDtoClass).GetFields(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance);

но я использую это, чтобы сгенерировать одну таблицу, и это возможно из-за синхронизации. Как я могу использовать один массив, но можно получить в одном месте свойства, а в другом месте поля это такие флаги? я должен смотреть в GetMembers или что-то? любая помощь очень ценится

1 Ответ

0 голосов
/ 12 апреля 2019

Использование имени класса

typeof(YourClass).GetMethod("METHOD_NAME");
typeof(YourClass).GetProperty("PROPERTY_NAME");

Использование экземпляра

yourInstance.GetType().GetMethod("METHOD_NAME");
yourInstance.GetType().GetProperty("PROPERTY_NAME");

Чтобы перечислить все свойства

foreach (var property in typeof(YourClass)) {
 Console.WriteLine(property);
}

Таким же образом можно перечислить их, используя Linq

typeof(YourClass).GetMethods()
                 .Select(method => method.Name == "GetType");

Официальная документация

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