C# 属性依赖于其他属性

C# 属性依赖于其他属性,c#,C#,我有一个依赖于另一个属性的属性,即,除非另一个属性存在,否则它将无效。我是否可以在任何时候将该属性添加到类中时,也会添加另一个属性 例如,有一个Decorator属性 public class Decorator : Attribute { public void draw(){} } public class Field : Attribute { public void FunctionThatIsCallingAllDecorators(){ fore

我有一个依赖于另一个属性的属性,即,除非另一个属性存在,否则它将无效。我是否可以在任何时候将该属性添加到类中时,也会添加另一个属性

例如,有一个Decorator属性

public class Decorator : Attribute {
    public void draw(){}
}

public class Field : Attribute {
     public void FunctionThatIsCallingAllDecorators(){
         foreach(var attribute in GetAllDrawers()){
             attribute.draw();
         }
     }
     ...
}

这里,decorator属性仅在类还具有字段属性时才有用,因此我想要的是,任何给定decorator属性的类也会获得字段属性。

请在decorator类中创建构造函数。 创建一个“Field”变量,并始终在Decorator的构造函数中实例化


您可以使用属性公开此“Field”变量。

如果
Field
高度依赖于
Decorator
,为什么要定义两个属性?@qxg这不太重要,但它们在这里做不同的工作字段为它标记到的类中的字段创建一个UI字段,并且使用装饰器来更改该UI字段的各个方面,如颜色等。因此,没有字段的装饰器没有任何意义,但每当有人添加decorator他们确实需要一个字段,这样可以减少键入,但这不是必需的。