在java中,我可以使用'final'关键字来完成此操作。我没有在C#中看到'final'。有替代品吗?

有帮助吗?

解决方案

您正在寻找 sealed 关键字。它完全与Java中的 final 关键字完全相同。尝试继承将导致编译错误。

其他提示

还要注意“我认为任何人都不需要继承这个”。不是使用“密封”的好理由。除非您确实需要确保使用特定实现,否则请将该类保持为未密封状态。

正如Joel已经建议的那样,您可以在C#中使用 sealed 而不是 final

http://en.csharp-online.net/CSharp_FAQ:_Does_CSharp_support_final_classes

sealed 修饰符将执行 final 在Java中的操作。

此外,虽然这可能不是您在这种情况下所寻找的,但将类标记为 static 也会使其不被继承(它在幕后变得密封)。

sealed 关键字可以使用,但您仍然可以使用反射IIRC从该类派生。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top