绑定动态操作时发生意外异常

时间:2017-11-22 23:47:52

标签: c# .net

致电dynamic service = Activator.CreateInstance()后,即使service.XXX召集service,我也会收到例外情况,但XXX包含Type importServiceType; importServiceType = Type.GetType(serviceName, true); dynamic service = Activator.CreateInstance(importServiceType); 属性。

例如:

An unexpected exception occurred while binding a dynamic operation,  Microsoft.CSharp.RuntimeBinder.RuntimeBinderInternalCompilerException

当我放置断点并进行调试时,我得到:

enter image description here

任何属性都会出现这种情况:service.JobId,service.JobDescription等。

错误:send(){ for(var i=0;i<this.items.length;i++) { console.log(this.items[i].Quest_ID); } }

3 个答案:

答案 0 :(得分:1)

在内部,所有类型名称都是完全限定的。这意味着如果处理两种类型相同,编译器将拒绝代码。除非来自相同的程序集,否则具有相同的命名空间和名称。

答案 1 :(得分:1)

以前在几行上发生了一些代码问题。 现在修好了。

答案 2 :(得分:0)

我遇到了这个,并通过对我想要强制使用的dll应用别名来修复它,并指定要加载的dll。

为.csprof文件添加别名

<Reference Include="Newtonsoft.Json.4.5.3, Version=4.5.0.0, Culture=neutral, PublicKeyToken=b9a188c8922137c6, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\..\Common\Newtonsoft.Json.4.5.3.dll</HintPath>
  <Aliases>Newtonsoft453</Aliases>
</Reference>

然后在你的.cs文件中:

extern alias Newtonsoft453;
...
using Newtonsoft453::Newtonsoft.Json;