Visual Studio .NET 2002.NET 1.0Visual Studio .NET 2003.NET 1.1.NET 2.0中级开发Visual StudioWindows.NETC#
如何在没有 Sealed 关键字的情况下使类成为 Sealed






1.46/5 (9投票s)
2006年8月10日

25126

214
我们可以在没有 sealed 关键字的情况下使类成为 sealed
引言
一篇文章介绍了如何在不使用 Sealed 关键字的情况下使类密封。包含的项目包含两种使类密封的方法,使用 Singleton 模式和不使用 Singleton 模式。
SealedClassSingleton.cs 类遵循 Singleton 模式,并且该类的实例允许调用该类的方法。
另一种解决方法是不遵循 Singleton 模式,而是使所有方法均为静态方法,并且可以通过类名调用这些方法,如 SealedClass.cs 中定义的。
上述两个类的目的是在不使用 Sealed 关键字的情况下使它们密封。
Using the Code
控制台应用程序包含一个名为 clsMain.cs 的入口点类,其中的 Main 方法包含两个代码块,用于调用两个不同密封类的方法。
以下在 DerivedClass 类中定义的代码在尝试从 SealedClassSingleton 或 SealedClass 类继承时会生成编译时错误。
<code>
public class DerivedClass:SealedClassSingleton // 此类已注释,因为它会产生编译错误
{
public DerivedClass()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
}
</code>