2010-12-20 16 views

答えて

3

代理人タイプはstatic修飾子で宣言できません。

フィールド、プロパティ、およびイベントは、静的と宣言できます。他のクラスメンバーと同様に、クラスのインスタンスではなくクラスのメンバーになるため、フィールド/プロパティ/イベントは効果的にグローバルになります。

各インスタンスにメンバーの独自のコピーを与えるのではなく、同じクラスのすべてのインスタンス間でメンバーを共有する場合にのみ必要です。

+0

デリゲート型とは、他の型(構造体またはクラス)内で定義されたデリゲートとは対照的に、グローバルデリゲートを意味しますか?私は用語と混同しています。 – xport

+1

デリゲートタイプは、デリゲートの定義を意味します。 ( 'public delegate void Foo(string bar);'のように)これらの宣言がどこにあっても、ネストされた型は静的ではないように静的にすることはできません。 (入れ子になったクラスは実際には静的であるかもしれませんが、*はまったく違うものを意味します* 'static class A 'は' sealed abstract class A'と同じことを意味します。メンバー。) – cdhowie

+0

OK。あなたは答えが良い!ありがとう。私は前もってコンパイルしようとしなかった静的なデリゲートを定義できると仮定して間違いを犯しました。 – xport

1

:-)静的デリゲートを作成することはできませんので、私はこの質問を閉じ

static delegate void foo(int bar); 

、我々は例えば、静的デリゲートを定義することができると仮定してミスを犯しましたすべてのインスタンスが同じデリゲートを呼び出すとき。

+0

申し訳ありませんが、私は私の質問で間違いを犯しました。スタティックデリゲートを定義することは不可能です。ご参加ありがとうございます。 – xport

+0

upvote私は、デリゲート型ではなくデリゲート型インスタンスについて話していると仮定しているかもしれません。 – xport

+0

編集する前に、デリゲートインスタンスについて話しているように聞こえます。私の答えでは、 'call'という単語が表示されます。 +1正直です。 – Xaqron

関連する問題