我的理解:写在这段代码中。
namespace Main方法
{
public class A
{
public int X;
internal int Y;
protected int Z;
private int H;
public void Ahello()
{
A hel = new A();
hel.X = 1;
hel.Y = 2;
hel.Z = 3;
hel.H = 4;
//访问自己类内的成员,不管什么访问修饰符,均可访问;
}
}
internal class B
{
public int X;
internal int Y;
protected int Z;
private int H;
}
class C : A
//继承类A
{
public int M;
internal int N;
protected int L;
public void Chello()
{
C hel = new C();
hel.M = 1;
hel.N = 2;
hel.L = 3;
//访问自己类的任何成员;不管什么访问修饰符;
hel.X = 4;
hel.Y = 5;
hel.Z = 6;
//因为继承A类,所以可以访问A类中的public\internal\protected;但不能访问A类中的private;
}
}
class Program
{
static void Main(string[] args)
{
A pic = new A();
pic.X = 1;
pic.Y = 1;
//其他类中只能访问public类中的public、internal修饰的成员;但不能访问A类中的private和protected;
B nal = new B();
nal.X = 1;
nal.Y = 1; //其他类中只能访问internal类中的public、internal修饰的成员;但不能访问B类中的private和protected;
C pro = new C();
pro.X = 1;
pro.Y = 2;
pro.M = 3;
pro.N = 4;
//其他类中只能访问internal\public类中的public、internal修饰的成员;但不能访问A、C类中的private和protected;
Console.ReadKey ();
}
}
}