C#动态调用方法

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#不能做到,那就有点说不过去了。

posted on 2010-07-31 16:35 Qinw 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/Qinw/archive/2010/07/31/1789561.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值