1

privateプロパティで非静的フィールドを使用したい場合、非静的フィールドpublic staticに関するコンパイル エラーが発生し、private非静的フィールドを作成するとstatic、すべてが正常に機能します。

私はコンパイラについてよく知らないので、なぜバッキングフィールドもstatic?にする必要があるのか​​知りたいです。

4

1 に答える 1

7

バッキング フィールドが静的でない場合、静的プロパティ アクセサーで使用するときに、そのフィールドのインスタンスをどのように取得するのでしょうか? メンバーのstatic修飾子は、このメンバーがその型の特定のインスタンスではなく、型自体に関連付けられていることを意味することに注意してください。静的プロパティが機能するには、それに応じて実装できるように、それ自体が静的なバッキング フィールドが必要です。

操作するインスタンスがないと、静的メソッド内の非静的メンバーにアクセスできないのと同じ理由です。

于 2012-11-18T08:30:48.977 に答える