子类对父类上定义的属性可见
本文关键字:属性 定义 父类 子类 | 更新日期: 2023-09-27 18:03:59
[SomeAttribute(typeof(Child))]
public sealed class Parent
{
public sealed class Child
{
}
}
这怎么可能?它会破坏属性的实现吗?我只嵌套子,因为我坚持一个类一个文件的规则。如果Child是在外部定义的,我就不需要担心用无限循环破坏属性。
回答您的问题:
这怎么可能?
这都与类的可见性有关。您的Child
类在同一个程序集中,因此SomeAttribute
仍然可以访问它(无论它是内部/私有等)。
是否会破坏属性的实现?
没有我只嵌套
Child
,因为我坚持一个类每个文件的规则。
从技术上讲,并不是坚持每个文件一个类的规则,因为现在有2个类(不管它是否嵌套)。通常,如果一个类是外部类的实现细节,那么你会嵌套它,我认为在你的情况下它不是。
如果Child
是一个公共类,那么把它放在它自己的单元中,你在这里嵌套的例子并没有给你任何好处,也没有任何意义。如果Child
类应该与Parent
类紧密耦合并纯粹在内部使用,那么它应该标记为internal
或private
。