假设如下:我们有B类,它是嵌套在A类中的私有类。没有任何继承自B类的类。问题是:编译器会自动将B类标记为Sealed吗? (在VB中不可插入)。编译器是否有任何理由不将B类标记为密封?
我的想法是这样的:因为B类嵌套在A类中并且是私有的,并且没有其他类继承自B类,所以它应该是安全的,因为它不能在类外继承A(甚至不是A的子类)。
Class A
Private Class B
End Class
End Class
答案 0 :(得分:7)
编译器不会自动将此类型标记为已密封。
在这个非常具体的场景中,没有真正的价值可以让班级保持开启状态。但是,确定您处于这种情况并不总是那么容易。你必须考虑以下
这些并非不可能计算,但它也不是微不足道的。要求用户自己密封类型要便宜得多
答案 1 :(得分:1)
我没有检查,但我想它不会那样做。无论如何,JIT可以确定一个类是否可以有后代,所以我不希望在运行时有任何差异。