3 回答
TA贡献1827条经验 获得超9个赞
public bool SetPiece(string strGlobal, string strNodes, string strCode, int intPiece, string strNewVal)
{
Initialize();
if (strGlobal == "" | strNodes == "" | strCode == "")
SetPiece = false;
SetPiece = mobjUtility.SetPiece(strGlobal, strNodes, strCode, intPiece, strNewVal);
}
TA贡献1876条经验 获得超6个赞
实际上,您的原始 VB 代码有一个您可能不知道的缺陷。分配SetPiece = False无效。VB 允许对方法名临时变量赋值,但该函数此时不会返回。如果没有遇到实际的“Return”语句,则在函数退出时End Function(遇到或第一个时Exit Function)返回临时 SetPiece 变量的值。在您的示例中,只有对 SetPiece 的最终分配是相关的。可以通过将“If”更改为“If/Else”来修复原始缺陷。
实际的 C# 等价物,原始缺陷更明显一点是:
public bool SetPiece(string strGlobal, string strNodes, string strCode, int intPiece, string strNewVal)
{
bool tempSetPiece = false;
Initialize();
if (string.IsNullOrEmpty(strGlobal) || string.IsNullOrEmpty(strNodes) || string.IsNullOrEmpty(strCode))
tempSetPiece = false; //no effect
return mobjUtility.SetPiece(strGlobal, strNodes, strCode, intPiece, strNewVal);
}
- 3 回答
- 0 关注
- 210 浏览
添加回答
举报