【发布时间】:2012-03-31 12:43:54
【问题描述】:
我有一个可以容纳对象的 IRecord 对象。这些对象的名称作为属性保存在映射中。我遍历属性并通过执行
将它们从 IRecord 中取出record[property]
这些对象始终是 ICollections。但是,我不知道 ICollection 将持有什么类型。如何在不知道 ICollection 将保存什么的情况下将对象拆箱到正确的 ICollection?
如果record[property 是ICollection,则下面的代码是一个工作版本,所以我想将其更改为可以采用任何ICollection。
public ElectronicSignatureModel SignHierarchy(IRecord record, List<HierarchyMapping> mapping)
{
foreach (HierarchyMapping hierarchyMapping in mapping)
{
string[] propertyList = hierarchyMapping.Properties;
foreach (string property in propertyList)
{
ICollection<Sample> recordProperty = (ICollection<Sample>)record[property];
}
}
【问题讨论】:
标签: c# unboxing icollection