【发布时间】:2016-11-25 23:25:42
【问题描述】:
我的脚本中有多个方法可以对多维数组执行转换,例如转置、移位、swapColumn..etc 我希望能够通过将方法存储在堆栈中并取其逆来撤消这些更改。 将方法存储在列表中的好方法是什么? 到目前为止,我想出了两个方法 1-存储一堆字母,其中每个字母代表对方法的调用,例如 t->transopse。 2-构建一个名为transformation的抽象类并将我所有的方法作为子类,以便我的堆栈可以存储所有不同的方法
【问题讨论】:
-
他们都有一个共同的签名吗?然后你可以把它们放在 Listy
-
方法具有共同签名意味着什么?是返回值吗?
-
@RaedTabani 的签名是所有参数类型的组合,以及返回类型;所以
int Foo(int x)和int Bar(int y)具有相同的签名,T Blah<T>(T val)与T=int具有相同的签名,但void Blop(string s)没有 -
不,并非所有方法都具有相同的签名。例如 swapColumn 采用两个 int 参数,而 transpose 不采用,将未使用的值作为参数传递以具有相同的签名是一个好主意吗?