Можно ли получить строку имени свойства объекта без создания экземпляра объекта?

Строковое представление свойства экземпляра объекта может быть взято с помощью Expression > :

string propertyName = ((MemberExpression) property.Body).Member.Name;

Но что если у меня нет (не хочу создавать) экземпляр? Как мне получить имя свойства в этом случае?

Объяснение

Мне нужно строковое представление имени свойства некоторого объекта.

Допустим, существует сущность

public class Customer
{
    public int ID;
    public string Name;
}

Теперь я хочу передать ключевое выражение этой сущности какой-либо другой функции, поэтому мне нужна строка «ID», но я не хочу жестко кодировать строку вроде SomeOtherFunction ("ID") , вместо этого я использую выражение SomeOtherFunction (ExpressionReader.GetString (() => CustomerInstance.ID)) . Чтобы это сработало, мне нужно предоставить экземпляр объекта.

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

16
задан net_prog 15 November 2011 в 13:12
поделиться