C# 言語には、public、private、protected、internal、protected Internal の 5 つのアクセス修飾子があります。スコープの範囲は次のとおりです:
アクセス修飾子 説明
public パブリック アクセス。制限なしで。
プライベートアクセス。アクセスは、サブクラスやインスタンスではなく、このクラスのメンバーに制限されます。
保護された保護されたアクセス。アクセスはこのクラスとサブクラスに制限されており、インスタンスにはアクセスできません。
内部内部アクセス。アクセスはこのプロジェクトに限定されており、他の人はアクセスできません。
保護された内部 内部の保護されたアクセス。アクセスはこのプロジェクトまたはサブクラスに制限されており、他のユーザーはアクセスできません。C# メンバー型の変更可能な修飾子と既定の修飾子は次のとおりです。
メンバー型の既定の修飾子は変更可能
enum public none
class private public、protected、internal、 private,
protected external
interface public none
struct private public, external, private
次に、public、private、protected、internal、protected Internal の範囲について例を元にお話しします。
次のコード:
[csharp] view plain copy using System; using System.Collections.Generic; using System.Text; namespace AccessModifier { public class AccessModifierClass { public string GetPublicString() { return "Public String"; } protected string GetProtectedString() { return "Protected String"; } private string GetPrivateString() { return "Private String"; } internal string GetInternalString() { return "Internal String"; } protected internal string GetProtectedInternalString() { return "Protected Internal String"; } void AvailableAccessModifier() { this.GetPublicString(); this.GetPrivateString(); this.GetInternalString(); this.GetProtectedInternalString(); this.GetProtectedString(); } } public class TestAccessModifierClass1 { void AvailableAccessModifier() { AccessModifierClass item = new AccessModifierClass(); item.GetPublicString(); item.GetInternalString(); item.GetProtectedInternalString(); } } public class TestAccessModifierClass2 : AccessModifierClass { void AvailableAccessModifier() { AccessModifierClass item = new AccessModifierClass(); item.GetPublicString(); item.GetInternalString(); item.GetProtectedInternalString(); base.GetProtectedString(); } } }
AccessModifierClass は 5 つのアクセス修飾子メソッドを持つアクセス修飾子クラスです。AccessModifierClass クラスの AvailableAccessModifier() メソッドがすべてのメソッドにアクセスできることがわかります。
TestAccessModifierClass1 クラスの AvailableAccessModifier() メソッドは、public、Internal、および Protected Internal メソッドにのみアクセスできます。
以上がC#の5つのアクセス修飾子のスコープ例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。