PHP里有一种方法是 变量() 可以当方法用 那么这个方法就可以动态的调用了
如果C#想实现这样的动态调用方法 有什么好的办法吗
简单的说就是只给方法的名称装在变量里 要求根据字符串调用相应的方法
如果用反射性能影响大,如果用判断,工作量太多 100+个方法去
求高手指点解决方案
private delegate void fun(string aa);
private event fun f;
public Form1()
{
InitializeComponent();
f += new fun(aa); //加载方法并实例化,用参数导入方法
}
private void button1_Click(object sender, EventArgs e)
{
f("aa");
}
private void aa(string str)
{
MessageBox.Show(str);
}
C#用委托就可以调用,如上图:
单击按钮时,会执行function()
以上是其别人提供的解决方案
但突然发现个问题 fun()这个委托的括号里不能直接输入string字符串啊 因为我们是基于字符串来调用方法的 而且这个字符串是装在一个变量里面的 求解
感觉C#用起怎么那么麻烦,如果有解决方案还好,如果C#不能做到,那就有点说不过去了。