2

MSDNによると

"クラスは、静的メンバーのみを含むことを示す静的として宣言できます。new キーワードを使用して静的クラスのインスタンスを作成することはできません。静的クラスは、.NET Framework 共通言語ランタイム (CLR) によって自動的に読み込まれます。クラスを含むプログラムまたは名前空間がロードされたとき。

いくつかの調査を行った後、静的クラスにはインスタンスコンストラクターが含まれていないことがわかりました。静的クラスにインスタンス コンストラクターが含まれていない理由と、static キーワードの使用方法がわかりません。.Net で静的クラスのインスタンスを作成できないのはなぜですか?

4

2 に答える 2

8

静的クラスには、インスタンス メンバーのプロパティや関数は含まれません。したがって、インスタンスを作成しても意味がありません。

静的クラスは、プログラム全体で同じ効果を持つ変数、プロパティ、および関数を含めるために使用されます。

たとえば、「設定」クラスを作成できます。

これにはすべての静的プロパティがあります。

アクセス時 (静的コンストラクター経由) 設定ファイルをディスクから自動的にロードするか、ファイルが見つからない場合はデフォルト設定にリセットします。

これで、プログラム全体から、呼び出すだけでこのクラスにアクセスできます

  • Settings.ScreenSize
  • Settings.RootPath

関数を作成することもできます

  • 次回の使用のために設定をディスクに保存するには、Settings.Save() を使用します。
  • Settings.Reset() を使用してデフォルト設定を復元します。

これの利点は、すべての設定が 1 つの場所にグループ化され、設定のすべてのロジックが 1 つの場所に配置されることです。どこから呼び出しても、設定クラスのインスタンスは 1 つしかないことが常にわかります。

これが役立つことを願っています

于 2013-10-18T07:55:55.843 に答える