2013-10-08 36 views
0

我在将Wonderware ArchestrA IDE(2012 R2)中的值分配给可空类型时出现问题。将可空类型分配给Wonderware应用服务器中的导入.NET类

我进口.NET类看起来是这样的:

public class TestObject 
    { 
     public string Name { get; set; } 

     public Nullable<int> MyNullableInt { get; set; } 

     public int MyInt { get; set; } 
    } 

我然后导入使用导入银河本 - >脚本函数库。

我的ArchestrA脚本,然后由从字面上看,眼前这个:

dim NT as NullTest.TestObject; 
NT = new NullTest.TestObject; 
NT.MyNullableInt = 3; 

脚本验证,但却分配给MyNullableInt导致在管理控制台登录脚本错误:

ProdCapability_001.GetMESWOData :{0896E675-F7D7-4F77-9FD2-20477058E072}:JIT编译器遇到内部限制。

.NET 4.5安装在服务器上。 Wonderware Application Server中的.NET类是否可以不使用Nullable类型?或者我错过了什么?

+0

当你把它改成这样,会发生什么:'NT.MyNullableInt =新的可空(3);'?当你使用'NT.MyInt = 3;'时,你会得到这个异常吗? –

+0

当我这样做,我得到,“类型'可空'未找到”。 – Gareth

+0

然后使用'System.Nullable (3);'。 –

回答

1

已经发现不支持泛型,这解释了奇怪的“构造函数超载未找到”消息。从ArchestrA IDE帮助:

虽然QuickScript中支持使用.NET CLR 版本2.0.50727建导入库,它不支持任何新的语言的 功能与.NET 2.0中引入的,比如仿制药。

因此,看起来像我需要创建一个类,它支持为每个.NET值类型分配null,我希望能够分配null,而不是使用Nullable类。

相关问题