2012-01-15 51 views
0

我有一个方法,它返回void。它根据if/else语句在数组中设置一些值。通知用户一种方法没有结束?

但是,如果代码进入else语句,则无法执行此操作。我可以返回到调用方法(在Winforms表单的代码隐藏方法中),以指示此操作没有结束?

感谢

+0

例外可能? – buc 2012-01-15 15:50:37

回答

1

你可以使用OUT参数,Out参数在返回值之前必须在方法内赋值,否则编译器会引发错误。

void SomeFunction (someparameter of yor req, out bool result) 
{ 
    if(success) // if everty things go well, you assign out variable 
    { 
    result=true; 
    } 
    else 
    { 
    result=false; 
    } 
} 

Out Parameter Documentation

4

你可以改变voidintboolresult枚举某种。呼叫者然后可以检索该值并检查呼叫是否成功。例如,如果操作成功,则返回true,如果没有,则返回false。如果方法必须保持为void,则可以使用out参数,然后调用者读取该参数以检查呼叫是否成功。或者,您可以抛出异常并让调用者处理它。

0

让你的方法返回一个指示成功/失败的布尔值。

+0

谢谢。我想到了这一点,想知道是否有办法在不改变返回类型的情况下做到这一点!但我猜不是? – dotnetdev 2012-01-15 16:01:07

+1

@dotnetdev - 如果您不想更改返回类型,则可以使用'out'参数。 – keyboardP 2012-01-15 16:03:57

相关问题