デリゲートに 'static'修飾子を付ける必要があるのはいつか分かりませんか?デリゲートのプレフィックスをいつ「静的」にする必要がありますか?
私は静的でないと思いますが、デリゲートはまだ一般的なケースで動作します。
私が間違っている場合は修正してください。
スタティックデリゲートが必須である例を教えてください。
EDIT 1:私は
デリゲートに 'static'修飾子を付ける必要があるのはいつか分かりませんか?デリゲートのプレフィックスをいつ「静的」にする必要がありますか?
私は静的でないと思いますが、デリゲートはまだ一般的なケースで動作します。
私が間違っている場合は修正してください。
スタティックデリゲートが必須である例を教えてください。
EDIT 1:私は
代理人タイプはstatic
修飾子で宣言できません。
フィールド、プロパティ、およびイベントは、静的と宣言できます。他のクラスメンバーと同様に、クラスのインスタンスではなくクラスのメンバーになるため、フィールド/プロパティ/イベントは効果的にグローバルになります。
各インスタンスにメンバーの独自のコピーを与えるのではなく、同じクラスのすべてのインスタンス間でメンバーを共有する場合にのみ必要です。
:-)静的デリゲートを作成することはできませんので、私はこの質問を閉じ
static delegate void foo(int bar);
、我々は例えば、静的デリゲートを定義することができると仮定してミスを犯しましたすべてのインスタンスが同じデリゲートを呼び出すとき。
デリゲート型とは、他の型(構造体またはクラス)内で定義されたデリゲートとは対照的に、グローバルデリゲートを意味しますか?私は用語と混同しています。 – xport
デリゲートタイプは、デリゲートの定義を意味します。 ( 'public delegate void Foo(string bar);'のように)これらの宣言がどこにあっても、ネストされた型は静的ではないように静的にすることはできません。 (入れ子になったクラスは実際には静的であるかもしれませんが、*はまったく違うものを意味します* 'static class A 'は' sealed abstract class A'と同じことを意味します。メンバー。) – cdhowie
OK。あなたは答えが良い!ありがとう。私は前もってコンパイルしようとしなかった静的なデリゲートを定義できると仮定して間違いを犯しました。 – xport