A строковое представление свойства экземпляра объекта может быть взято с Expression<Func<T>>
:
string propertyName = ((MemberExpression) property.Body).Member.Name;
Но что, если у меня его нет (не хочу создавать)экземпляр?Как получить имя свойства в этом случае?
Объяснено
Мне нужно строковое представление имени свойства некоторого объекта.
Давайтескажем, есть сущность
public class Customer
{
public int ID;
public string Name;
}
Теперь я хочу передать ключевое выражение этой сущности какой-то другой функции, поэтому мне нужна строка «ID», но я не хочу жестко кодировать строку, напримерSomeOtherFunction("ID")
, вместо этого я использую выражение SomeOtherFunction(ExpressionReader.GetString(() => CustomerInstance.ID))
.Чтобы это работало, мне нужно предоставить экземпляр сущности.
Теперь я хочу сделать то же самое без создания экземпляра.