在java中,我可以使用'final'关键字来完成此操作。我没有在C#中看到'final'。有替代品吗?
答案 0 :(得分:35)
您正在寻找sealed
关键字。它完全与Java中的final
关键字完全相同。尝试继承将导致编译错误。
答案 1 :(得分:6)
还要注意“我认为任何人都不需要继承这个”并不是使用“密封”的好理由。除非您确实需要确保使用特定实现,否则请将该类保持为未密封状态。
答案 2 :(得分:2)
正如Joel已经建议的那样,您可以在C#中使用sealed
代替final
。
http://en.csharp-online.net/CSharp_FAQ:_Does_CSharp_support_final_classes
答案 3 :(得分:1)
sealed
修饰符将执行final
在Java中的作用。
此外,虽然这可能不是您在这种情况下所寻找的,但将类标记为static
也会使其不被继承(它在幕后变得密封)。
答案 4 :(得分:0)
sealed
关键字可以使用,但您仍然可以使用反射IIRC从该类派生。