58.C#通過嵌套類在類外設置私有成員變量和調用私有方法

在一個類中嵌套一個類,這種做法的一個作用就是可以在類外對類的私有成員變量進行設置,也可以調用私有方法。從而達到在類外訪問私有成員和方法的目的。下面就是具體做法。

public class ClassA
{
    private int state = -1;

    public int State { get => state; set => state = value; }
    private void AMethod()
    {
        Console.WriteLine("私有AMethod()方法被調用");
    }
    public class B
    {
        public void SetPrivateState(ClassA target,int newState)
        {
            target.state = newState;//通過嵌套類設置私有參數。
        }
        public void BMethod()
        {
            ClassA a = new ClassA();//通過嵌套類調用私有方法。
            a.AMethod();
        }
    }
}

在Main函數中調用。

ClassA myObject = new ClassA();
Console.WriteLine($"myObject.State={myObject.State}");
ClassA.B myNestObject = new ClassA.B();
myNestObject.SetPrivateState(myObject, 3);
Console.WriteLine($"myObject.State={myObject.State}");
myNestObject.BMethod();

結果是:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章