据我所了解,如果我们有一个私有类,那么只有在不是私有类的某个类中访问该私有类时才能够被访问。那么我们为什么需要这么多的迂回操作,可以用这种方式解决什么样的业务问题呢?请给我一个真实生活案例。
非常抱歉如果这是一个重复的问题。
public class Transaction
{
public int ID;
public bool ValidateSecurityInfo()
{
//Securityinfo can only be used within the Transaction class
var info = new SecurityInfo();
}
private class SecurityInfo
{
}
}
class Program
{
static void Main(string[] args)
{
var pub = new PublicClass();
// If PrivateClass was public we could do this
//var priv = new PublicClass.PrivateClass(pub);
//priv.ChangeX(3);
}
}
public class PublicClass
{
private int _x;
private readonly PrivateClass _privateClass;
public PublicClass() => _privateClass = new PrivateClass(this);
private class PrivateClass
{
private readonly PublicClass _publicClass;
public PrivateClass(PublicClass publicClass)
{
_publicClass = publicClass;
ChangeX(2);
}
// We can access our parents class's private members
public void ChangeX(int newX) => _publicClass._x = newX;
}
}