2012-01-15 14 views
0

私はvoidを返すメソッドを持っています。 if/else文に応じて配列にいくつかの値を設定します。メソッドが成功しなかったことをユーザーに通知しますか?

ただし、コードがelseステートメントに入ると、この操作は実行できません。この操作が成功しなかったことを示すために、呼び出し元のメソッド(winformsフォームのコードビハインドのメソッド)に何を返すことができますか?

おかげ

+0

例外? – buc

答えて

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

あなたはいくつかの並べ替えのvoidintboolまたはresult列挙を変更することができます。呼び出し元は、この値を取得し、呼び出しが成功したかどうかを確認できます。たとえば、操作が成功するとtrueが返され、成功しなかった場合はfalseが返されます。メソッドがvoidのままでなければならない場合は、outパラメータを使用して、呼び出し元が呼び出しが成功したかどうかを確認することができます。また、例外をスローして、呼び出し元に処理させることもできます。

0

成功/失敗を示すブール値を返しますか?

+0

ありがとうございます。私はそれを考えました、戻り値の型を変更せずにこれを行う方法があるかどうか疑問に思っていました!しかし、私はないと思いますか? – dotnetdev

+1

@dotnetdev - 戻り値の型を変更したくない場合は、 'out'パラメータを使用できます。 – keyboardP

関連する問題