无论传递的布尔值如何,我的 BizTalk functoid returns true 值
My BizTalk functoid returns true value regardless of the boolean being passed
我的 BizTalk 应用程序有问题
我已自定义 functoid 以根据它收到的布尔值更改值,她是代码
public string GetBoolMark(bool param1)
{
string returnValue = "0";
if (param1 == true )
{
returnValue = "1";
}
return returnValue;
}
我遇到一个问题,该值总是 returns 真实值。我正在使用 BizTalk 服务器 2013 R2
将 param1 的类型从 bool 更改为 string。
在函数内部仔细解析它为一个布尔值,并使用该布尔值来决定 return.
的内容
public string GetBoolMark(string param1)
{
bool condition;
string returnValue = "0";
if (bool.TryParse(param1, out condition) && condition)
{
returnValue = "1";
}
return returnValue;
}
在脚本 functoid 中使用内联 C# 时,我总是发现假设所有参数都是字符串更容易。
如果您使用其他类型,将为您执行一些隐式解析。我宁愿自己显式执行解析,因为我不知道隐式解析的确切工作原理。
如果确实是xs:boolean,你可以这样做:
public MyFunctoid(string MyParam)
{
if(MyParam == "true")
{
return "It was true!";
}
return "It was false!";
}
这是因为 MyParam 的值只能是 'true'、'false' 或 '' 这三种情况之一。您只需要测试 'true'。这是一种不需要 [Try]Parse 的情况。
我的 BizTalk 应用程序有问题
我已自定义 functoid 以根据它收到的布尔值更改值,她是代码
public string GetBoolMark(bool param1)
{
string returnValue = "0";
if (param1 == true )
{
returnValue = "1";
}
return returnValue;
}
我遇到一个问题,该值总是 returns 真实值。我正在使用 BizTalk 服务器 2013 R2
将 param1 的类型从 bool 更改为 string。 在函数内部仔细解析它为一个布尔值,并使用该布尔值来决定 return.
的内容 public string GetBoolMark(string param1)
{
bool condition;
string returnValue = "0";
if (bool.TryParse(param1, out condition) && condition)
{
returnValue = "1";
}
return returnValue;
}
在脚本 functoid 中使用内联 C# 时,我总是发现假设所有参数都是字符串更容易。 如果您使用其他类型,将为您执行一些隐式解析。我宁愿自己显式执行解析,因为我不知道隐式解析的确切工作原理。
如果确实是xs:boolean,你可以这样做:
public MyFunctoid(string MyParam)
{
if(MyParam == "true")
{
return "It was true!";
}
return "It was false!";
}
这是因为 MyParam 的值只能是 'true'、'false' 或 '' 这三种情况之一。您只需要测试 'true'。这是一种不需要 [Try]Parse 的情况。