我有几种方法具有彼此相似的结构。唯一的区别是开始测试的变量以及所需的布尔条件。
public void OP_BCS(sbyte b)
{
cv.PC += 2;
if (cv._C == true)
{
cv.PC += (ushort)b;
}
}
是否可以将上面的代码更改为类似于我下面的代码(语法可能不正确,但是应该可以解释我的意思)
public void OP_Branch(variable name, boolean condition, sbyte b)
{
cv.PC += 2;
if (variable == condition)
{
cv.PC += (ushort)b;
}
}
只需为该方法添加一些额外的参数,我就可以做出所需的所有不同组合。
答案 0 :(得分:0)
为什么不仅仅将bool
作为参数?
public void OP_Branch(bool condition, sbyte b)
{
cv.PC += 2;
if (condition)
{
cv.PC += (ushort)b;
}
}
然后,当您调用它时,可以在方法调用中进行比较:
OP_Branch(variable == condition, b);