在java中,我可以用'final'关键字来做到这一点。我在 C# 中看不到“final”。有替代品吗?
问问题
1958 次
5 回答
35
您正在寻找sealed
关键字。它与final
Java 中的关键字完全一样。尝试继承将导致编译错误。
于 2008-09-30T19:57:12.220 回答
6
还要注意,“我认为没有人需要继承这个”不是使用“密封”的好理由。除非您特别需要确保使用特定的实现,否则请保持类未密封。
于 2008-09-30T20:19:00.563 回答
2
正如乔尔已经建议的那样,您可以在 C#中使用sealed
而不是。final
http://en.csharp-online.net/CSharp_FAQ:_Does_CSharp_support_final_classes
于 2008-09-30T20:09:02.457 回答
1
sealed
修饰符将执行Javafinal
中的操作。
此外,尽管在这种情况下这可能不是您要寻找的,但将一个类标记为static
也可以防止它被继承(它在幕后被密封)。
于 2008-09-30T23:19:56.337 回答
0
关键字会sealed
起作用,但您仍然可以使用反射 IIRC 从类派生。
于 2008-09-30T20:36:15.530 回答