C# sealed
时间: 2023-07-12 21:11:18 浏览: 54
在C#中,`sealed`关键字通常用于防止派生类继续派生或者重写基类的虚方法。当使用`sealed`关键字修饰一个类时,这个类不能被派生,当使用`sealed`关键字修饰一个方法时,这个方法不能被重写。这样可以保证派生类或者子类不会修改或者破坏基类的实现逻辑。以下是一个使用`sealed`关键字的示例:
```csharp
public class BaseClass
{
public virtual void MethodToBeSealed()
{
// implementation
}
}
public class DerivedClass : BaseClass
{
public sealed override void MethodToBeSealed()
{
// implementation
}
}
public class AnotherDerivedClass : DerivedClass
{
// This will result in a compile-time error because the MethodToBeSealed is sealed in the DerivedClass
// public override void MethodToBeSealed()
// {
// // implementation
// }
}
```
在这个示例中,`DerivedClass`继承了`BaseClass`并且重写了`MethodToBeSealed()`方法并使用了`sealed`关键字进行修饰。这样,在`AnotherDerivedClass`中,如果试图重写`MethodToBeSealed()`方法,编译器将会报错。