Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我曾经看到一个项目,其中程序员在根元素处有文件夹,如MS.Internalor Microsoft.*。他从 .net 类中复制了未标记为密封的类中的反编译源,以修改它们或能够访问它们或以其他方式修改它们。
MS.Internal
Microsoft.*
我想知道如果这种情况没有解决方法,这是否是常用方法,或者这是否合法?
如果将类标记为密封和内部应该保护我们;那么为什么类和方法是像BooleanBoxes内部DoubleUtil.IsNaN(double)的呢?它们有利于优化。
BooleanBoxes
DoubleUtil.IsNaN(double)
这不是常见的做法,但实际上(非常)不好的做法。根据被反编译的代码(作品)的许可,它在版权法方面可能合法也可能不合法。
当应用于一个类时,sealed修饰符会阻止其他类从它继承。标记为的类的作者sealed不希望任何人继承它。
sealed
您还可以在sealed覆盖基类中的虚拟方法或属性的方法或属性上使用修饰符。这使您能够允许类从您的类派生并防止它们覆盖特定的虚拟方法或属性。