我是靠谱客的博主 沉静手套,这篇文章主要介绍C#中五种访问修饰符作用范围实例详解,现在分享给大家,希望可以做个参考。

在C#语言中,共有五种访问修饰符:public、private、protected、internal、protected internal。作用范围如下表:
访问修饰符 说明
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的作用范围。
如下代码:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
[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#中五种访问修饰符作用范围实例详解的全部内容,更多相关C#中五种访问修饰符作用范围实例详解内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(96)

评论列表共有 0 条评论

立即
投稿
返回
顶部