C# 从其他类访问私有成员

C# 从其他类访问私有成员,c#,private,C#,Private,在Java中,如果在一个顶级类中定义了两个类,则它们可以访问彼此的私有成员(字段、构造函数、方法)。因此,在如下情况下,您可以在ClassB内部使用ClassA的所有私有成员,反之亦然 public class TopLevelClass { private static class ClassA { // Code omitted } private static class ClassB { // Code omitted

在Java中,如果在一个顶级类中定义了两个类,则它们可以访问彼此的私有成员(字段、构造函数、方法)。因此,在如下情况下,您可以在
ClassB
内部使用
ClassA
的所有私有成员,反之亦然

public class TopLevelClass {

     private static class ClassA {
         // Code omitted
     }

     private static class ClassB {
         // Code omitted
     }
 }

你能在C#中做类似的事情吗?

即使C#中有嵌套类,两个独立的(彼此不嵌套)类也不能访问彼此的私有成员(即使它们共享一个父级)。但是,它们可以访问父类的私有成员

如果确实需要,您可以使用反射来访问私有成员,当然,如果您需要访问它们,它们可能首先不应该是
private


有关更多信息,请参阅。

谢谢。我想这就是答案——我只是想确认一下。我发现在Java中有一种非常有用的方法,那就是编写只对它们所定义的顶级类有用的助手类。对于这些类,我可以将所有内容都设置为私有,而不必担心编写访问器方法。@pbabcdefp始终有自动属性:)