[SomeAttribute(typeof(Child))]
public sealed class Parent
{
public sealed class Child
{
}
}
这怎么可能?它会破坏属性实现中的某些内容吗?我只是嵌套 Child 因为我坚持每个文件一个类的规则。如果 Child 是在外部定义的,我就不必担心用无限循环破坏属性。
[SomeAttribute(typeof(Child))]
public sealed class Parent
{
public sealed class Child
{
}
}
这怎么可能?它会破坏属性实现中的某些内容吗?我只是嵌套 Child 因为我坚持每个文件一个类的规则。如果 Child 是在外部定义的,我就不必担心用无限循环破坏属性。
要回答您的问题:
这怎么可能?
这一切都与班级的知名度有关。您的Child
课程在同一个程序集中,因此SomeAttribute
仍然可以访问它(无论它是内部/私有等)。
它会破坏属性实现中的某些内容吗?
不
我只是嵌套
Child
,因为我坚持每个文件一个类的规则。
从技术上讲,您不会坚持每个文件 1 个类的规则,因为现在有 2 个类(不管它是否嵌套)。通常你会嵌套一个类,如果它是外部类的实现细节,我收集到你的情况不是。
如果Child
是一个公共类,那么把它放在它自己的单元中,你在这里嵌套的例子不会给你带来任何好处,也没有任何意义。如果Child
该类应与该类紧密耦合Parent
并纯粹在其内部使用,则应将其标记为internal
或private
。