Я знаю, что на этом сайте есть несколько ответов, и я извиняюсь, если это в какой-то мере повторяется, но все те, что я нашел, не делают то, что я пытаюсь сделать.
Я пытаюсь указать информацию о методе, чтобы я мог получить имя в безопасном виде, не используя строки. Поэтому я пытаюсь извлечь его с выражением.
Скажем, я хочу получить имя метода в этом интерфейсе:
public interface IMyInteface
{
void DoSomething(string param1, string param2);
}
В настоящее время я могу получить имя с помощью ЭТОГО метода:
MemberInfo GetMethodInfo<T>(Expression<Action<T>> expression)
{
return ((MethodCallExpression)expression.Body).Method;
}
Я могу вызвать вспомогательный метод следующим образом:
var methodInfo = GetMethodInfo<IMyInteface>(x => x.DoSomething(null, null));
Console.WriteLine(methodInfo.Name);
Но я ищу версию, в которой я могу получить имя метода без указания параметров (null, null)
вот так:
var methodInfo = GetMethodInfo<IMyInteface>(x => x.DoSomething);
Но все попытки не скомпилируются
Есть ли способ сделать это?