我很想知道 C# 中是否有任何示例。我想不出一个禁止继承的示例而不是一些商业意图,所以我想知道 c# 本身的一些真实世界示例。
我知道密封类,我只是在 C# 本身中寻找一些示例,而不是隐式密封的值类型和结构。
我很想知道 C# 中是否有任何示例。我想不出一个禁止继承的示例而不是一些商业意图,所以我想知道 c# 本身的一些真实世界示例。
我知道密封类,我只是在 C# 本身中寻找一些示例,而不是隐式密封的值类型和结构。
您不能从任何结构、sealed
类或static
类继承。C# 还禁止使用许多“特殊”类型,包括Delegate
and Enum
,因为它提供了其他构造来使用这些类型。
我想到的最明显的例子是System.String
。
如果你想像这样继承它:
public class CustomString : String { }
你会看到这个错误:
“CustomString”:不能从密封类型“字符串”派生
.Net 框架中还有许多其他示例。我使用反射进行了快速比较,仅在mscorlib
(v4.0) 中就有 856 种密封公共类型,而 619 种非密封公共类型(包括接口)。
除了sealed
类,static
类也不能被继承,见关于。例如: System.Linq.Enumerable
。
public static class Inherited : System.Linq.Enumerable
{
}
这也行不通。