OKB*_*OKB 1 c# generics polymorphism
我需要一些设计问题的帮助.我试图实现的是:
我有一个名为Document的主类.此类具有属性类列表.这些属性类具有一些常见属性,例如Identity和Name,但它们在我称为Value的一个属性中有所不同.Value类型对于每个不同的Attribute类是不同的,并且类型为string,integer,List,DateTime,float,List以及由多个属性组成的类.一个例子是我将调用PairAttribute的类,它具有2个属性:Title和Description.
我试图实现的是Attribute子类的Value属性的类型安全性,并且这些子类应该能够添加到Document类的Attribute列表中.我本可以只创建一个具有类型为Object的Value属性的Attribute类,并且完成它,但这正是我在这里要避免的.
公共属性(Identity和Name)应放在基类中我猜,我们可以调用那个AttributeBase类.但我希望有一个子类,比如StringAttribute,其中Value属性是string类型,IntegerAttribute类,其中Value属性是Integer类型,StringListAttribute,其中Value属性是List类型,PairAttribute类,其中Value是一个有几个属性等的类
你知道我怎么能实现这个吗?这是我应该采用的解决方案还是解决此类安全问题的更好方法?我会很感激代码示例澄清:)