2017-02-17 6 views
0

Я регистрирую журнал, используя log4net в ActionMethod, чье имя LogHandlerMethod(). Этот ActionMethod вызывается внутри разных функций (Actions). Как получить имяМетод тех функций, внутри которых LogHandlerMethod() вызывалосьlog4net logging find method name

ответ

0

Вы можете сделать это с помощью CallerMemberNameAttribute:

public void LogHandlerMethod(... my parameters ... ,[CallerMemberName]string memberName = "") 
{ 
    //memberName will contain name of calling method 

Зова это без добавления параметра MemberName (MemberName будет заполняются CallerMemberNameAtribute)

+0

Нужно ли передавать функцию в качестве аргумента. Что делать, если я хочу получить доступ к коду? –

+0

CallerMemberNameAttribute выполняет настройку имени функции вызывающего абонента. Не передавайте параметр memberName в качестве параметра в вашей функции вызывающего абонента. – Peter

+0

Мне нужно сделать сравнение в файлах webconfig. Скажем, если этот метод был от конкретного действия, сделайте что-то в противном случае. –