C# 如何使用不同动态对象的列表设置动态对象数组属性

C# 如何使用不同动态对象的列表设置动态对象数组属性,c#,dynamic,reflection,C#,Dynamic,Reflection,我正在将两个动态对象传递到我的方法中。”“伤害方”有一个名为dependents的属性,这是一个dependents数组,我想用第二个动态对象“dependent”填充该数组 这可能吗 public static dynamic MapTrustOnline(DetailedDto detailed, dynamic injuredParty, dynamic dependent) { injuredParty.dependents = new dependent[4];

我正在将两个动态对象传递到我的方法中。”“伤害方”有一个名为dependents的属性,这是一个dependents数组,我想用第二个动态对象“dependent”填充该数组

这可能吗

public static dynamic MapTrustOnline(DetailedDto detailed, dynamic injuredParty, dynamic dependent) { 

    injuredParty.dependents = new dependent[4];

    for(int i = 0; i <= detailed.dependents.length; i++) {
        var dynDependent = new dependent();
        dynDependent.property1 = detailed.dependents[i].property1;
        dynDependent.property2 = detailed.dependents[i].property2;
        injuredParty.dependents[i] = dynDependent;
    }
}
publicstaticdynamicmaprustonline(detaileddtodetailed,dynamicredparty,dynamicdependent){
受伤家属=新家属[4];

对于(inti=0;i我通过在类中传入依赖对象,然后在下面执行此操作来解决它

        var genDependents = detailedClaim.Matter.MatterData.GeneralDependentDto;
        inj.dependents = new T[genDependents.Count];
        var i = 0;
        foreach (var dep in genDependents) {

            T myObj = new T();
            var birthDateProp = myObj.GetType().GetProperty("birthdate");
            birthDateProp.SetValue(myObj, (DateTime)dep.BirthDate, null);
            inj.dependents[i] = myObj;
            i++;
        }   

如果您能更好地解释逻辑,可以使用ExpandooObject和IDictionary来完成。具体来说,为什么我们需要在函数中传递dynamic dependent?这是必需的吗?它在任何地方都被使用吗?如果我们只创建dynamic object,我们就不需要传递它。我使用泛型解决了它。我将发布我的答案。