从其他类访问私有成员

本文关键字:成员 访问 其他 | 更新日期: 2023-09-27 18:34:02

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

public class TopLevelClass {
     private static class ClassA {
         // Code omitted
     }
     private static class ClassB {
         // Code omitted
     }
 }

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

从其他类访问私有成员

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

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

有关详细信息,请参阅嵌套类型。