首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

方法组调用方法

2013-08-04 
求一个方法组调用方法问题描述:提供一组签名相同的方法, 由于方法的个数不固定,希望放在一个List中,供调用

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

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

哪位有别的思路?
[解决办法]
假设方法签名为
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));
  }
}


热点排行