【发布时间】:2017-05-16 21:37:11
【问题描述】:
如何使用已在一个文件中调用的方法的布尔返回值在第二个文件中创建 if 语句而不再次调用该方法?
作为一个简化示例,以下 if 语句嵌套在 APIHelper.cs 文件的 CreateSubscription 方法中:
//APIHelper.cs
if (MakePayment(Order) == true)
{
//billing logic
}
else
{
return false;
}
以下 if 语句位于引用 APIHelper.cs 文件的 Payment.cs 文件中:
//Payment.cs
if (APIHelper.CreateSubscription(Order) == false)
{
//error logic
return;
}
我需要使用 APIHelper.cs 文件中 MakePayment 方法的布尔返回值,而无需再次调用 MakePayment 方法来在 Payment.cs 文件中创建如下所示的 if 语句。但是在这种情况下,因为我第二次调用该方法来获取返回值,所以支付运行了两次。
//Payment.cs
if (APIHelper.CreateSubscription(Order) == false && APIHelper.MakePayment(Order) == true)
{
//error logic 1
return;
}
else if (APIHelper.MakePayment(Order) == false)
{
//error logic 2
return;
}
【问题讨论】:
-
1 - 不要与 bool 文字比较,直接使用结果。 2 - 好吧,您可以创建一个布尔变量并将结果存储在那里,对吧?
标签: c# if-statement methods return-value