求一个方法组调用方法

tangt 2013-07-19 10:54:02
问题描述:提供一组签名相同的方法, 由于方法的个数不固定,希望放在一个List中,供调用程序循环调用。
例子:对已各字符串进行不同方式的加工,如更换字符、删除字符等多个方法, 在调用过程中,自动调用所有方法,得到不同方法的调用结果。

我现在是把所有方法通过delegate 放到一个List中, 但很遗憾, foreach 和 FunCon.Funs[]都不支持函数组.

哪位有别的思路?
...全文
84 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangt 2013-08-01
  • 打赏
  • 举报
回复
在使用范型重写后, foreach 可以达到自动遍历delegate 列表了。楼上的应该没有问题。谢谢。
cheng2005 2013-07-19
  • 打赏
  • 举报
回复
假设方法签名为 int funcA(string input) {} List<Func<string,int>> FuncList = new List<Func<string,int>>();
  • 打赏
  • 举报
回复
public delegate string delString(string str); delString del=new delString(fun1); del+=fun2; ... ... fun1() {} fun2() {} ... ... list<string> result=new list<string>(); public void DeverseOperationString(delString del,string opertionStr) { delegate[] del_list=del.GetInvocationList(); foreach(Delegate del in del_list) { delString eachDel=(delString)del; result.add(eachDel(opertionStr)); } }

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧