有没有办法通过提供方法本身来获取方法的名称(作为字符串)?
class Person
{
bool Eat(Food food){...}
}
我想以某种方式获得字符串“Eat”。就这样!这可以来自实例,也可以来自使用反射的类声明。
我的尝试:
public delegate bool EatDelegate(Food f);
EatDelegate eatDel = new EatDelegate(_person1.Eat);
string methodName = eatDel.GetInvocationList()[0].Method.Name;
这需要知道方法的委托,整个事情是不可读的
我想要 methodName 以便动态调用它。
笔记:
- 我要调用的每个方法都有一个委托声明
- 我想避免指定方法的名称,以避免反射等后出现错误
- 在我想得到它的名字的那一刻,该方法没有被调用。(不能使用
MethodBase.GetCurrentMethod()
) - 我必须使用.Net 3.5