访问修饰符 说明
public 公有访问。不受任何限制。
private 私有访问。只限于本类成员访问,子类,实例都不能访问。
protected 保护访问。只限于本类和子类访问,实例不能访问。
internal 内部访问。只限于本项目内访问,其他不能访问。
protected internal 内部保护访问。只限于本项目或是子类访问,其他不能访问
C#成员类型的可修饰及默认修饰符如下表:
成员类型 默认修饰符 可被修饰符
enum public none
class private public、protected、internal、private、
protected internal
interface public none
struct private public、internal、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 是我们的访问修饰符类,里面有五种访问修饰符方法,可见在 AccessModifIErClass 类里面的 AvailableAccessModifIEr() 方法可以访问所有的方法。
在 TestAccessModifIErClass1 类中的 AvailableAccessModifIEr() 方法只能访问 public、Internal 和 Protected Internal 方法。
TestAccessModifIErClass2 类继承自 AccessModifIErClass 类,所以它的 AvailableAccessModifIEr() 方法可以访问 public,internal,protected和protected internal 方法。 总结
以上是内存溢出为你收集整理的C#中五种访问修饰符作用范围实例详解全部内容,希望文章能够帮你解决C#中五种访问修饰符作用范围实例详解所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)