能否重写密封类的方法?

8
在WinRT(C#,XAML)中,ScrollViewer是一个密封类,我无法扩展它,但我需要重写一些方法(例如:ScrollToHorizontalOffset)。是否可能覆盖密封类的方法?
4个回答

16

不可以 - 要重写一个方法,必须要从该方法的类派生,而当类是 sealed 时,你就做不到。

基本上,你需要重新设计以避免这个要求...


7
您不能从一个sealed类继承,因此无法进行继承和重写。
请参见:override C# 引用块:

必须使用override修饰符来扩展或修改继承方法、属性、索引器或事件的抽象或虚拟实现。

请参见:sealed C# 引用块:

当应用于类时,sealed修饰符防止其他类从它继承。


3

正如单词“sealed”本身所示,它受到保护,不能被继承或覆盖。

因此,没有继承就意味着没有覆盖。

请访问此链接以获取有关密封类的更多详细信息。


0

Sealed(密封)本身意味着该类不能被继承,而那些不能被继承的类意味着在派生类中无法访问该类的任何属性。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接