我有一个可以容纳对象的 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];
}
}