我想将一个属性声明为:
IList<BaseNode and IComplexType> ComplexTypes { get; }
列表中的所有元素都继承自 BaseNode 并实现 IComplexType。有没有办法做到这一点?创建类 BaseNodeComplexType 是行不通的,因为列表中的节点都是 BaseNode 的子类。
更新:我没有想到要充分解释这一点。我有 XmlNode 等子类。XmlNode 继承自 BaseNode。我还有从 XmlNode 继承并实现 IComplexType 的 XmlComplexNode。但是 XmlNode 不继承自 IComplexType(而且我不希望它继承,因为我在某些地方使用“obj is IComplexType”。很抱歉最初没有添加它。