新聞中心

EEPW首頁 > 測試測量 > 設計應用 > 學習LabVIEW(二)——操作.NET泛型類

學習LabVIEW(二)——操作.NET泛型類

作者: 時間:2017-01-09 來源:網(wǎng)絡 收藏

首先調用Dictionary的Add方法,往里面添加一個Key-Value對。根據(jù)Dictionary這個類型,Add方法的參數(shù)為一個字符串和一個整數(shù)。和前面調用MakeGenericType一樣,我們還是用LabVIEW自帶的數(shù)組來構造Invoke所需要的Object[]。糟糕的一點在于,LabVIEW沒法自動把自身的字符串和整數(shù)類型轉換成.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型,表示查詢是否成功,第一個參數(shù)為Key,第二個參數(shù)為傳出參數(shù),為查詢得到的Value。和剛才一樣,通過GetMethod和Invoke來調用TryGetValue,構造Object[]作為參數(shù)列表。需要注意的是,Object[]的第二個參數(shù)需要和Value的類型保持一致,否則會報錯。程序如下:

程序中用了兩個文本框輸出TryGetValue的返回值和傳出參數(shù)。查詢時用的Key是字符串"eleven",第二個參數(shù)5是隨便寫的,只要是和Value類型相同即可。所以得到下面的運行結果也在意料之中:


經(jīng)過了上面這一番實驗,原本認為在LabVIEW中利用Reflection就可以輕易操縱泛型的我,還是默默啟動了Visual Studio,寫起了C#代碼。

上一頁 1 2 下一頁

關鍵詞: LabVIEWNET泛型

評論


技術專區(qū)

關閉