内部类是嵌套在类的内部,内部类可以访问类的private,protected成员。
示例代码如下:
- public class ClassA{//外部类
- private int state = -1;//私有字段
- public int State { get => state; set => state = value; }
- //内部类
- public class ClassB {
- public void ChangeState(ClassA target,int state) {
- target.state = state;//内部类可以直接访问私有字段
- }
- }
- }
- public class Program{
- public static void Main(string[] args){
- ClassA ca = new ClassA();//外部类
- Console.WriteLine(ca.State);
- ClassA.ClassB cb = new ClassA.ClassB();//内部类
- cb.ChangeState(ca, 89);
- Console.WriteLine(ca.State);
- }
- }