假设我们创建了一个名为[Mandatory]的属性。那些存在任何方式强制子类至少在具有此属性的字段上,而父类没有任何字段? 例如,假设:
class parent{
public abstract void doSomething(){};
}
我应该向父类添加什么,所以子类必须是这样的:
class parent{
[Mandatory] public field1;
public override void doSomething(){ // do something ...};
}
如果它不包含field1
则无法编译。在c#中存在这样的东西吗?
父类只是应用一个已经员工尊重的规则,但我想保证每个人都必须至少在现场声明。我认为这不是面向对象应用程序的情况。但我试图强迫他们使用oop遵守这个惯例!如果不是正确的方法,请通知我。
感谢您的帮助。
答案 0 :(得分:2)
您是否特别想要抽象字段或属性是否足够?
以下情况如何?
abstract class Base
{
public abstract int Field { get; set; }
}
class Derived : Base
{
public override int Field { get; set; }
}