デリゲートを必要とするものへの単なる呼び出しのために、デリゲートの定義と命名に疲れている唯一の人になることはできません。例えば、私はおそらく他のスレッドからフォームで.Refresh()を呼び出してみたかったので、私はこのコードを書いた:私は、私はちょうど十分に読まなければならないことを怖がっすることさえわからないC#の匿名デリゲート
private void RefreshForm()
{
if (InvokeRequired)
Invoke(new InvokeDelegate(Refresh));
else
Refresh();
}
を後の段階では機能しません。
InvokeDelegateは、実際には別のファイルで宣言されていますが、私は本当には、このためだけの専用全体デリゲートを必要のですか?一般的な代議員はまったくありませんか?
たとえば、ペンクラスがありますが、ペンもあります。 pen-of-choiceあなたは全体をリメイクする必要はありません。それは同じではありませんが、あなたが私が何を意味するのか理解していただければ幸いです。
C#には「匿名の代理人」はありません。デリゲート(使用しているもののようなもの)と匿名メソッド(デリゲートを介してのみアクセス可能)があります。 – Lucas
私はC#の仕様が正しい方法であるということを "匿名メソッド"という用語を使用していると思います。しかし、この用語は、多くの人が匿名メソッドをパラメータとしてインスタンス化したデリゲートを意味するために使用されます。したがって、同じことを意味しますが、誰かが1つの用語を他の用語よりも使用する可能性があるコンテキストは、代理割り当てが行われているかどうか、または匿名メソッドが別のメソッドに直接渡されているかどうかによって異なります。私は反対の議論を歓迎する。 –