[ Полезный рекламный блок ]
Попробуйте свои силы в игре, где ваши навыки программирования на C# станут решающим фактором. Переходите по ссылке 🔰.
Щоб отримати значення властивості з рядка за допомогою рефлексії, виконайте такі дії:
- Отримайте тип об’єкта, який містить властивість, яку ви хочете отримати. Ви можете використовувати метод GetType() на екземплярі об’єкта.
- Використовуйте метод GetProperty() для отримання об’єкта PropertyInfo, який представляє властивість, яку ви хочете отримати. Цей метод приймає ім’я властивості у вигляді рядка і деякі необов’язкові параметри.
- Використовуйте метод GetValue() на об’єкті PropertyInfo, щоб отримати значення властивості. Цей метод приймає як параметр екземпляр об’єкта.
Ось приклад фрагмента коду на C#, який демонструє, як отримати значення властивості за допомогою відображення:
1 2 3 4 |
// Assume that we have an object instance called "myObject" and a string called "propertyName" Type type = myObject.GetType(); PropertyInfo propertyInfo = type.GetProperty(propertyName); object propertyValue = propertyInfo.GetValue(myObject); |
Зверніть увагу, що метод GetValue() повертає об’єкт, тому перед його використанням може знадобитися приведення результату до відповідного типу. Крім того, якщо властивість недоступна, вам може знадобитися використовувати перерахування BindingFlags для зазначення відповідного рівня доступу.
Я сподіваюся, що вам сподобалося читати цю статтю, і вона виявилася легкою для розуміння. Будь ласка, дайте мені знати, якщо у вас є якісь коментарі або виправлення.
Так само вам може бути цікава попередня стаття – Як перетворити універсальний тип.
Ви хочете навчитися писати код мовою програмування C#?
Створювати різні інформаційні системи, що складаються з сайтів, мобільних клієнтів, десктопних додатків, телеграм-ботів тощо.
Переходьте до нас на сторінку Dijix і ознайомтеся з умовами навчання, ми спеціалізуємося тільки на індивідуальних заняттях, як для початківців, так і для просунутих програмістів. Ви можете взяти як одне заняття для опрацювання питання, що вас цікавить, так і кілька, для більш щільної роботи. Завдяки особистому кабінету, кожен студент підвищить якість свого навчання, у вашому розпорядженні:
- Доступ до пройденого матеріалу
- Тематичні статті
- Бібліотека книг
- Онлайн тестування
- Спілкування в закритих групах