我在类中有一个属性,用作WCf服务中操作合同的回复类型,与旧版ASMX客户端通信。
[XmlArrayItem(Type = typeof(Person), Namespace = "TestNamespace")]
[XmlArrayItem(Type = typeof(Department),
Namespace = "TestNamespace")]
public Collection<object> OrgCollection { get; set; }
但是,如果使用者添加了一些其他类型而不是预期的类型,服务崩溃是因为XmlSerializer
无法序列化此属性。
有没有办法收集某些特定类型?泛型将是它的答案,但不是完全实现一个新的集合类,我可以从一些现有的集合类“继承”我的新类,以便我可以使用所有的功能吗?
答案 0 :(得分:0)
您可以将System.Collections.Generic.List用于特定类型的集合。如果您愿意,也可以从List继承以添加自己的功能。
答案 1 :(得分:0)
查看System.Collections.Generic命名空间。
根据您的评论“我想要一个”单一“集合,它能够存储某些指定类型的对象。”:
创建一些中产阶级A
:
class A<T1, T2> {}
然后使用:
List<A<T1, T2>> OrgCollection { get;set }
或使用Tuple<T1, T2>
类(.NET 4.0)。