我在Wonderware ArchestrA IDE (2012 R2)中为可空类型分配值时遇到了问题。
导入的.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应用服务器中导入的.NET类可以不使用Nullable类型吗?还是我错过了什么?
发布于 2013-10-08 10:41:40
发现泛型不受支持,这就解释了奇怪的“构造器重载找不到”消息。来自ArchestrA IDE帮助:
尽管QuickScript支持用.NET CLRVersion2.0.50727构建的导入库,但它不支持.NET 2.0引入的任何新的语言特性,比如泛型。
因此,看起来我需要创建一个类,它支持为我想要将null赋值的每个.NET值类型赋值,而不是使用Nullable类。
发布于 2015-04-25 00:06:39
Wonderware缺少一些功能(空值、泛型、异常处理、使用语句)。但是,如果我记得正确的话,您可以在某些情况下使用DBNull (例如,如果您希望在表中使用空白单元格,或者如果您要将空值写入数据库)。
https://msdn.microsoft.com/en-us/library/system.dbnull.value%28v=vs.110%29.aspx
https://stackoverflow.com/questions/19244007
复制相似问题