学习LabVIEW(二)——操作.NET泛型类

测试测量 时间:2017-01-09来源:网络

首先调用Dictionary的Add方法,往里面添加一个Key-Value对。根据Dictionary这个类型,Add方法的参数为一个字符串和一个整数。和前面调用MakeGenericType一样,我们还是用LabVIEW自带的数组来构造Invoke所需要的Object[]。糟糕的一点在于,LabVIEW没法自动把自身的字符串和整数类型转换成.NET的System.Object,我们需要借助dotnet.llb这个库,可以在LabVIEW的安装目录中找到,比如,我的机器上是这个路径:
.../LabVIEW2013/vi.lib/Platform/dotnet.llb
在当前的程序中点右键,在弹出的菜单中点击“选择vi“,会弹出一个打开文件对话框,用这个对话框打开上面说到的dotnet.llb,如下图所示:


选择之后,会弹出另外一个对话框,选中“To .NET Object.vi”即可,如下图所示。


最后用如下的方法成功调用了Dictionary的Add方法:


上面的程序中,我们插入的Key-Value对为
"eleven" : 11
接下来,我们用Dictionary的TryGetValue方法获取Key "eleven"对应的Value。TryGetValue的返回值为bool型,表示查询是否成功,第一个参数为Key,第二个参数为传出参数,为查询得到的Value。和刚才一样,通过GetMethod和Invoke来调用TryGetValue,构造Object[]作为参数列表。需要注意的是,Object[]的第二个参数需要和Value的类型保持一致,否则会报错。程序如下:

程序中用了两个文本框输出TryGetValue的返回值和传出参数。查询时用的Key是字符串"eleven",第二个参数5是随便写的,只要是和Value类型相同即可。所以得到下面的运行结果也在意料之中:


经过了上面这一番实验,原本认为在LabVIEW中利用Reflection就可以轻易操纵泛型的我,还是默默启动了Visual Studio,写起了C#代码。
1 2

关键词: LabVIEWNET泛型

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版