繁体   English   中英

子类对父类定义的属性可见吗?

[英]Child class is visible to attributes defined on parent class?

[SomeAttribute(typeof(Child))]
public sealed class Parent
{
    public sealed class Child
    {
    }
}

这怎么可能? 它会破坏属性实现内部的某些内容吗? 我只嵌套Child,因为我坚持每个文件规则一个类。 如果Child是在外部定义的,则无需担心会因无限循环而破坏属性。

要回答您的问题:

这怎么可能?

这全与班级的知名度有关。 您的Child类在同一程序SomeAttribute因此SomeAttribute仍然可以访问它(无论它是内部/私有等)。

它会破坏属性实现内部的某些内容吗?

没有

我只嵌套Child因为我坚持每个文件规则一个类。

从技术上讲,您不会遵循每个文件1类的规则,因为现在有2类(无论是否嵌套)。 通常,如果它是外部类的实现细节,则将嵌套一个类,而我收集的不是这个类。

如果Child是一个公共类,然后将其放在其自己的单元中,那么您在此处进行嵌套的示例不会为您带来任何好处,也没有任何意义。 如果Child应该Parent类紧密耦合并纯粹在内部使用,那么应该将其标记为internalprivate

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM