1.类定义
(1)基类
class Assembly1_MyClass1
{
internal int mem_internal_A; //内部成员
protected int mem_protected_A; //保护成员
protected internal int mem_protected_internal_A; //受保护的内部成员
}
(2)同程序集派生类
class Assembly1_MyClass2 :Assembly1_MyClass1 //同程序集继承
{
}
(3)非同程序集派生类
在程序集2中定义Assembly2_MyClass1继承自程序集1中的Assembly1_MyClass1
class Assembly2_MyClass1 :Assembly1_MyClass1
{
}
2.变量修饰符测试(同程序集)
(1)protected类型
测试1:派生类类内访问
class Assembly1_MyClass2 :Assembly1_MyClass1 //同程序集继承
{
Assembly1_MyClass2 A1C2 =new Assembly1_MyClass2(); //派生类实例化
Assembly1_MyClass1 A1C1 =new Assembly1_MyClass1(); //基类实例化
void Test()
{

本文详细探讨了C#中成员变量的protected、internal和protected internal修饰符的用法和访问权限。在同程序集中,protected internal与internal表现相同,允许在派生类和基类的类内外访问。而在非同程序集中,protected internal仅允许在派生类的类内通过派生类实例访问,体现了protected的特性。
最低0.47元/天 解锁文章
3543

被折叠的 条评论
为什么被折叠?



