Можете ли вы использовать отражение, чтобы найти имя выполняемого в данный момент метода?

Начиная с .NET 4.5, вы также .net-framework можете использовать [CallerMemberName].

Пример: средство reflection задания свойств (для ответа reflection на часть 2):

protected void SetProperty(T value, [CallerMemberName] string property = null)
{
    this.propertyValues[property] = value;
    OnPropertyChanged(property);
}

public string SomeProperty
{
    set { SetProperty(value); }
}

Компилятор будет reflection предоставлять соответствующие .net-framework строковые литералы на сайтах .net вызовов, поэтому накладных .net расходов на производительность .net практически нет.

.net

reflection

2022-10-26T20:38:41+00:00
Вопросы с похожей тематикой, как у вопроса:

Можете ли вы использовать отражение, чтобы найти имя выполняемого в данный момент метода?