C#では、イベント関数に戻り値を設定できます。ただし、最後のイベントの戻り値のみを受け取ります。また、以前のイベントの戻り値を取得する方法がないようです。C#のイベントのベストプラクティス
いくつかの良い方法はありますか?私はいつもvoid
を使うべきですか?私の限られた経験から、値をチェーンしたい場合はref
を使用する必要がありますか?
イベントの書き込み方法を教えてください。私はFunc < ref t、return T>を使いたかったが、ref
はそこでは違法であり、私は行動が同じであると想像している。 (私は以下で終わりました)。 ref
を使用する場合、イベントを2行ではなく1行にする方法はありますか?
delegate int FuncType(ref int a);
static event FuncType evt;
static void Main(string[] args)
{
evt += foo;
var aa = 1;
var a = evt(ref aa);
evt += bar;
var bb = 1;
var b = evt(ref bb);
}
static int foo(ref int a)
{
a = a*3;
return a;
}
static int bar(ref int a)
{
a=a +1;
return a;
}
あなたは何をしようとしていますか?それがあなたのニーズに合った答えを与えるのに役立つことが分かっています。 – Oded
上記のコード例では、イベントを使用するのが難しいようです。たぶんあなたはあなたの問題を解決するために別の方向を見ているべきです。 –
@Andreas Vendel:正確には、私は実際にwinformsのイベントを使用して、私は周りに遊ぶことに決めた、それは非常に有用な外観didnt。だから私は正しく、きれいにそれを使用する方法を見つけようとしました –