Есть ли способ получить значение свойства объекта на основе его имени?
Например, если у меня есть:
public class Car : Vehicle
{
public string Make { get; set; }
}
и
var car = new Car { Make="Ford" };
Я хочу написать метод, в котором я могу передать имя свойства, и оно будет возвращать значение свойства. то есть:
public string GetPropertyValue(string propertyName)
{
return the value of the property;
}
c#
asp.net
reflection
Кодер 2
источник
источник
Вы должны использовать отражение
Если вы хотите быть по-настоящему модным, вы можете сделать это методом расширения:
А потом:
источник
car
Вы хотите отражение
источник
Простой пример (без записи отражения жесткого кода в клиенте)
источник
Кроме того, другие ребята отвечают, легко получить значение свойства любого объекта с помощью метода Extension, например:
Использование это:
источник
Расширяя ответ Адама Ракиса - мы можем сделать метод расширения универсальным просто так:
Если хотите, вы можете обойти это и обработкой ошибок.
источник
Чтобы избежать размышлений, вы можете установить словарь с вашими именами свойств в качестве ключей и функций в части значений словаря, которые возвращают соответствующие значения из запрошенных вами свойств.
источник