c# 字典方法作为一个值

标签 c# methods dictionary

我有一个类,里面有一堆方法,这些方法在调用时会在我的程序的其他地方传递变量。我想使用字典作为传输数据的方法和调用它们的方法之间的中间人。

所以这是我的问题。假设我制作了一本字典,其中的键是 int我希望该值是方法的名称。我每次添加到字典时都会分配一个新的值/方法。有没有我可以放在那里让我这样做的值类型?

Dictionary<int, ?> methodKey= new Dictionary<int, ?>();

我试图找到字典将采用的类型列表,但找不到任何具体内容。

提前致谢

最佳答案

使用任何委托(delegate)类型作为值类型。例如:

Dictionary<int, Action>

所以,你将能够写出这样的东西:

        dictionary[0] = () => Console.WriteLine("0");
        dictionary[1] = Foo;
        dictionary[2] = a.Bar;

具体的委托(delegate)类型取决于您的需要——您可能希望方法有一些输入参数或输出/返回值,但它应该是最常见的类型。

关于c# 字典方法作为一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20259771/

相关文章:

c# - LINQ 查询 - 选择所有子项都满足条件的记录

java - 如何在另一个方法中包含返回的字符串 - java

java - 没有看到任何对 Callable.call() 方法的调用,但 call() 方法内部的代码仍然被执行,call() 方法在哪里被调用?

python - 将 pandas GroupBy 中的列值聚合为字典

python - 如何通过 key 访问列表?

c# - 在 .NET Core 1.1 csproj 中引用 .NET 4.5 dll?

c# - 我应该更喜欢 C# 中的静态方法吗?

c# - LINQPad索引超出范围异常

java - 抽象类和方法,为什么?

python - 多键多值非确定性 python 字典