У меня странная ситуация, когда мне нужно получить имя делегата в виде строки. У меня есть общий метод, который выглядит так.
private T Get<T>(T task, Action<T> method) where T : class
{
string methodName = method.Method.Name //Should return Bark
}
и я называю это следующим образом
private void MakeDogBark()
{
dog = Get(dog, x=>x.Bark());
}
Но вместо того, чтобы видеть "Bark", я вижу это "<MakeDogBark>b__19"
. Таким образом, похоже, что это дает мне имя метода, которое сделало начальный вызов вместо имени делегата.
Кто-нибудь знает, как это сделать?