Получение События называет от лямбда-выражения

есть ли путь, как получить имя ov событие от Лямбда-выражения как со свойством (Получающий имя Свойства от лямбда-выражения)?

Спасибо

8
задан Community 23 May 2017 в 12:01
поделиться

2 ответа

Нет. Ламбды C# не поддерживают события, поэтому нет способа представить это. Вам придется использовать отражение.

4
ответ дан 5 December 2019 в 17:36
поделиться

Да, это похоже на получение имени свойства, но вы должны сделать это в классе, определяющем событие.

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;
    }
}

Наслаждайтесь.

6
ответ дан 5 December 2019 в 17:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: