我在C#中使用即兴,我有以下情况。
这是我要填充的类:
public class FinalDecisionInformation
{
public int PersonNo { get; set; }
public int OrdNo { get; set; }
public int OrdLineNo { get; set; }
public int OrdStatus { get; set; }
}以下是接口IFinalDecisionEvaluate的定义:
public interface IFinalDecisionEvaluate
{
List<FinalDecisionInformation> FinalDecisionList { get; set; }
}我的代码目前是这样的:
List<FinalDecisionInformation> finalDecision = (List<FinalDecisionInformation>)serializer.Deserialize(stringReader);
var finalDecisionSend = Impromptu.ActLike<IFinalDecisionEvaluate>(finalDecision);此代码抛出以下错误:
((ActLike_IFinalDecisionEvaluate_f627852407d342cb8e77c394c0b2791f)finalDecisionSend).FinalDecisionList = '((ActLike_IFinalDecisionEvaluate_f627852407d342cb8e77c394c0b2791f)finalDecisionSend).FinalDecisionList' threw an exception of type 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException'因此,从本质上讲,我只需要将列表对象映射到接口即可。有没有人能帮我纠正这个错误?我找不到不匹配的地方。
谢谢!
发布于 2020-06-19 21:20:41
啊,我想我想通了。我需要使用接口中指定的字段名创建一个代理对象:
var finalDecisionList = new { FinalDecisionList = finalDecision };
var finalDecisionSend = Impromptu.ActLike<IFinalDecisionEvaluate>(finalDecisionList);这似乎很管用。所以我们学到了!
https://stackoverflow.com/questions/62471042
复制相似问题