У меня есть объект IRecord, который может содержать объекты. Имя этих объектов сохраняется в сопоставлении как Свойства. Я перебираю свойства и извлекаю их из IRecord, выполняя
record[property]
Эти объекты всегда являются ICollections. Тем не менее, я не знаю, какой тип ICollection будет держать перед рукой. Как я могу распаковать объект в нужную ICollection, не зная, что ICollection будет держать?
Приведенный ниже код является рабочей версией, если свойство record [является IColletion, поэтому я хочу изменить это так, чтобы оно могло принимать любую 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];
}
}