如何在此处访问方法DoSomething()
?当我创建SomeClass
类型的对象时,我无法访问它。
另一方面,在公共类中使用私有类有什么用?
public class SomeClass
{
public string str = string.Empty;
private class SomePrivateClass
{
public void DoSomething()
{
...
}
}
}
答案 0 :(得分:1)
您需要在外部类中创建嵌套类的对象:
public class SomeClass
{
public string str= string.Empty;
private class SomePrivateClass
{
public void DoSomething()
{
}
}
public void CreateObjectOfSomePrivateClass()
{
SomePrivateClass obj = new SomePrivateClass();
obj.DoSomething();
}
}
答案 1 :(得分:0)
DoSomething
是一个实例方法,一个public
方法,这意味着任何可以访问该类型(类)定义的代码实际上都可以调用那种方法。由于SomePrivateClass
是SomeClass
的私有类,因此只能在 SomeClass
中实例化。您应该集中精力阅读有关静态成员和实例成员之间差异的更多信息(例如this MSDN article)。
话虽如此,私有类可以做的一件事是访问父类的私有字段(实例和静态,但是你需要有一个实例一个父类,以便调用其实例方法),其他类不能。