是否存在任何方法来强制子类至少具有一个带有指定属性的字段

本文关键字:有一个 字段 属性 具有一 方法 任何 存在 子类 是否 | 更新日期: 2023-09-27 17:54:26

假设我们创建了一个名为[Mandatory]的属性。这些存在任何方式强制子类至少有一个字段与此属性,而父类没有任何字段??例如,假设如下:

class parent{
    public abstract void doSomething(){};
}

我应该在父类中添加什么呢?所以子类必须是这样的:

class parent{
    [Mandatory] public field1;
    public override void doSomething(){ // do something ...};
}

如果不包含field1,则无法编译。c#中存在这样的东西吗?

更新

父类只应用一个已经被员工尊重的规则,但我想保证每个人都必须声明至少一个字段。我认为这不是一个面向对象的应用程序。但是我试图用oop来强迫他们遵守这个约定!如果不正确,请告诉我。

谢谢你的帮助

是否存在任何方法来强制子类至少具有一个带有指定属性的字段

您是特别想要一个抽象字段还是一个属性就足够了?

下面的内容如何?

abstract class Base
{
    public abstract int Field { get; set; }
}
class Derived : Base
{
    public override int Field { get; set; }
}