我希望能够将各种静态方法存储在列表中,然后查找它们并动态调用它们。
每个静态方法都有不同数量的参数、类型和返回值
static int X(int,int)....
static string Y(int,int,string)
我想要一个可以将它们全部添加到的列表:
List<dynamic> list
list.Add(X);
list.Add(Y);
然后:
dynamic result = list[0](1,2);
dynamic result2 = list[1](5,10,"hello")
如何在 C# 4 中做到这一点?
您可以创建委托实例列表,为每个方法使用适当的委托类型。
var list = new List<dynamic>
{
new Func<int, int, int> (X),
new Func<int, int, string, string> (Y)
};
dynamic result = list[0](1, 2); // like X(1, 2)
dynamic result2 = list[1](5, 10, "hello") // like Y(5, 10, "hello")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)