c# - 如何在一般的 c# 中将方法存储在堆栈或列表中

标签 c# list methods stack

我的脚本中有多种方法可以对多维数组执行转换,例如转置、移位、swapColumn 等。我希望能够通过将这些方法存储在堆栈中并取其逆来撤消这些更改。 将方法存储在列表中的好方法是什么? 到目前为止,我想出了两个方法 1- 存储一堆字母,其中每个字母代表对方法的调用,例如 t->transopse。 2- 构建一个名为 transformation 的抽象类,并将我所有的方法作为子类,以便我的堆栈可以存储所有不同的方法

最佳答案

您可以使用 FuncAction 将方法存储在 List 中:

List<Func<T1, T2, TReturn>>

相当于:

TReturn MyFunction(T1 input1, T2 input2)

或者:

List<Action<T1, T2>>

相当于:

void MyFunction(T1 input1, T2 input2)

关于c# - 如何在一般的 c# 中将方法存储在堆栈或列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38519987/

相关文章:

c# - 如何将 JavaScript 日期对象转换为刻度

c# - socket 的 Shutdown、Disconnect、Close 和 Dispose 到底是做什么的?

Python:从一堆 "key: value"字符串创建字典?

java - 使用数组和可变长度形式参数。 (java :38: error: '.class' expected)

c# - 使用 LINQ 和 vars 时如何避免方法长度蠕变

c# - 有效地使用单元测试/有人尝试过汇编方法吗?

c# - EF Core 模型中导航属性的必要性

python - 我尝试使用范围转换元组列表中的元组,并且代码有效,但是当我使用 'for i in list:' 尝试相同操作时,它不起作用 :

c - OP 之间的文件或列表的实现是否有任何差异,因为我的代码在 Windows 上工作但在 Linux(Mac OS X) 上不工作

java - 如何在这个数组操作的Java程序中定义不同的所需方法?