gpt4 book ai didi

c# - 动态函数列表并动态调用它们

转载 作者:IT王子 更新时间:2023-10-29 04:38:48 25 4
gpt4 key购买 nike

我希望能够将各种静态方法存储在一个列表中,然后查找它们并动态调用它们。

每个静态方法都有不同数量的参数、类型和返回值

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 中执行此操作?

最佳答案

您可以创建一个委托(delegate)实例列表,为每个方法使用适当的委托(delegate)类型。

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")

关于c# - 动态函数列表并动态调用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8152415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com