c# 中如何将一个方法的名称作为另一个方法的参数?
如以下的类中,如何将MethodName2作为参数,传递给MethodName
public class Class1
{
public void MethodName(??)
{
}
public void MethodName2()
{
}
}
------解决方案--------------------请使用委托!
// 定义委托,原型与欲包装方法原型一样
public delegate void Method2Callback(string message);
public class Class1
{
public void Method1(string message, Method2Callback cb)
{
cb(message);
}
public void Method2(string message)
{
Console.WriteLine(message);
}
}
// 调用
Class1 c = new Class1();
Method2Callback cb = new Method2Callback(c.Method2);
c.Method1( "Hello ", cb);
------解决方案--------------------虽然可以通过反射得到方法的名字,不过还是不大清楚楼主要做什么
------解决方案--------------------用反射得到方法名,太费时了...
------解决方案--------------------你什么用途亚,这个要求真怪