есть ли путь, как получить имя ov событие от Лямбда-выражения как со свойством (Получающий имя Свойства от лямбда-выражения)?
Спасибо
Нет. Ламбды C# не поддерживают события, поэтому нет способа представить это. Вам придется использовать отражение.
Да, это похоже на получение имени свойства, но вы должны сделать это в классе, определяющем событие.
public class Foo
{
public event EventHandler Bar;
public string BarName
{
get
{
return this.GetEventName(() => this.Bar);
}
}
private string GetEventName(Expression<Func<EventHandler>> expression)
{
return (expression.Body as MemberExpression).Member.Name;
}
}
Наслаждайтесь.