クラス修飾子: public、internal、partial、abstract、sealed、static
メンバー修飾子: public、protected、private、internal、sealed、abstract、virtual、override、readonly、const
Public: 最もオープンなすべてのオブジェクトこのアセンブリと他のアセンブリにアクセスできます
保護: 比較的オープンで、独自のメンバーとサブクラスのメンバーがアクセスできます
プライベート: 独自のメンバーのみがアクセスできます
内部: このアセンブリ内のメンバーはアクセスできます
部分: 部分クラス。クラスを複数の部分に分割して、異なるファイルに書き込むことができます。最終コンパイル時に 1 つのファイルにマージされ、さまざまな部分を異なるアセンブリに分散させることはできません
要約: クラスを変更する場合、これは、クラスが抽象クラスであり、このクラスのインスタンスを作成できないことを意味します。メソッドを変更する場合、そのメソッドはサブクラスによって実装される必要があることを意味します。サブクラスがメソッドを実装していない場合、そのサブクラスも抽象クラスであり、その抽象メソッドを含むクラスも抽象クラスでなければなりません。
static がコンストラクターを変更する場合、コンストラクターにはパラメーターや修飾子を含めることはできません。コンストラクター関数はオブジェクトのメンバーを初期化できません。ただし、静的メンバーは初期化または呼び出しが可能です。いつ実行されるかは保証されませんが、クラス
が初めて使用される前に実行されることは保証できます。静的コンストラクターで初期化された静的メンバーが、最終的な初期化結果になります。例:
view plain
public static int test = 0;
static Person()
{
test = 3;
static void Main(string[] args)
{
Console.WriteLine(person.test);//実行結果は 3 です
}
注: クラスまたはメソッドが修飾子によって変更されていない場合、デフォルトは内部です:
C# はさまざまなメソッドを使用します。クラスのさまざまなプロパティを表現するための修飾子。 C# クラスには、保護レベルに応じて 5 つの異なる制限修飾子があります。 public は任意にアクセスできます。protected はこのクラスとその継承されたサブクラスのみがアクセスできます。
internal はこのアセンブリからのみアクセスできます。アセンブリ)。アセンブリは、C# 言語で結合されたクラスの論理的および物理的な単位です。多くの場合、コンパイルされたファイル拡張子は「.DLL」または「.EXE」です。
プライベートにはこのクラスのみがアクセスできます。
ネストされたクラスではない場合、名前空間またはコンパイル単位内のクラスには、public と external の 2 つの変更のみが含まれます。
新しい修飾子はネストされたクラスにのみ使用でき、親クラスから継承された同じ名前の型が非表示になることを示します。
abstract は抽象クラスを変更するために使用され、そのクラスが親クラスとしての継承にのみ使用でき、オブジェクトとしてインスタンス化できないことを示します。抽象クラスには抽象メンバーを含めることができますが、これは必須ではありません。 abstract は new と一緒に使用できません。