首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#中的即兴问题

C#中的即兴问题
EN

Stack Overflow用户
提问于 2020-06-19 21:10:08
回答 1查看 58关注 0票数 0

我在C#中使用即兴,我有以下情况。

这是我要填充的类:

代码语言:javascript
复制
public class FinalDecisionInformation
{
  public int PersonNo { get; set; }
  public int OrdNo { get; set; }
  public int OrdLineNo { get; set; }
  public int OrdStatus { get; set; }
}

以下是接口IFinalDecisionEvaluate的定义:

代码语言:javascript
复制
public interface IFinalDecisionEvaluate
{
  List<FinalDecisionInformation> FinalDecisionList { get; set; }
}

我的代码目前是这样的:

代码语言:javascript
复制
List<FinalDecisionInformation> finalDecision = (List<FinalDecisionInformation>)serializer.Deserialize(stringReader);

var finalDecisionSend = Impromptu.ActLike<IFinalDecisionEvaluate>(finalDecision);

此代码抛出以下错误:

代码语言:javascript
复制
((ActLike_IFinalDecisionEvaluate_f627852407d342cb8e77c394c0b2791f)finalDecisionSend).FinalDecisionList = '((ActLike_IFinalDecisionEvaluate_f627852407d342cb8e77c394c0b2791f)finalDecisionSend).FinalDecisionList' threw an exception of type 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException'

因此,从本质上讲,我只需要将列表对象映射到接口即可。有没有人能帮我纠正这个错误?我找不到不匹配的地方。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-06-19 21:20:41

啊,我想我想通了。我需要使用接口中指定的字段名创建一个代理对象:

代码语言:javascript
复制
var finalDecisionList = new { FinalDecisionList = finalDecision };
var finalDecisionSend = Impromptu.ActLike<IFinalDecisionEvaluate>(finalDecisionList);

这似乎很管用。所以我们学到了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62471042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档