Skip to content

Як отримати значення властивості з рядка використовуючи рефлексію [C#]

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Завантаження...

[ Полезный рекламный блок ]

Попробуйте свои силы в игре, где ваши навыки программирования на C# станут решающим фактором. Переходите по ссылке 🔰.


Щоб отримати значення властивості з рядка за допомогою рефлексії, виконайте такі дії:

  • Отримайте тип об’єкта, який містить властивість, яку ви хочете отримати. Ви можете використовувати метод GetType() на екземплярі об’єкта.
  • Використовуйте метод GetProperty() для отримання об’єкта PropertyInfo, який представляє властивість, яку ви хочете отримати. Цей метод приймає ім’я властивості у вигляді рядка і деякі необов’язкові параметри.
  • Використовуйте метод GetValue() на об’єкті PropertyInfo, щоб отримати значення властивості. Цей метод приймає як параметр екземпляр об’єкта.

Ось приклад фрагмента коду на C#, який демонструє, як отримати значення властивості за допомогою відображення:

Зверніть увагу, що метод GetValue() повертає об’єкт, тому перед його використанням може знадобитися приведення результату до відповідного типу. Крім того, якщо властивість недоступна, вам може знадобитися використовувати перерахування BindingFlags для зазначення відповідного рівня доступу.

Я сподіваюся, що вам сподобалося читати цю статтю, і вона виявилася легкою для розуміння. Будь ласка, дайте мені знати, якщо у вас є якісь коментарі або виправлення.

Так само вам може бути цікава попередня стаття – Як перетворити універсальний тип.

Ви хочете навчитися писати код мовою програмування C#?

Створювати різні інформаційні системи, що складаються з сайтів, мобільних клієнтів, десктопних додатків, телеграм-ботів тощо.

Переходьте до нас на сторінку Dijix і ознайомтеся з умовами навчання, ми спеціалізуємося тільки на індивідуальних заняттях, як для початківців, так і для просунутих програмістів. Ви можете взяти як одне заняття для опрацювання питання, що вас цікавить, так і кілька, для більш щільної роботи. Завдяки особистому кабінету, кожен студент підвищить якість свого навчання, у вашому розпорядженні:

  • Доступ до пройденого матеріалу
  • Тематичні статті
  • Бібліотека книг
  • Онлайн тестування
  • Спілкування в закритих групах

https://dijix.com.ua

Живи у своєму світі, програмуй у нашому.

Published inВідповіді на запитання C#
Subscribe
Notify of
guest
0 комментариев
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x