RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在LabVIEW中創(chuàng)建.net中List的步驟簡析

jf_xutpKvFS ? 來源:LabVIEW QT 修煉之路 ? 作者:Retry ? 2022-10-17 11:43 ? 次閱讀

最近有項目的個別需求需要使用.net中的一些東西來實現(xiàn),如其中需要用到泛型集合List,這在C#中去創(chuàng)建是很簡單的事情,如List lblList = new List(); 起初我也沒太在意,認(rèn)為使用.net函數(shù)選板中的構(gòu)造器就可以創(chuàng)建該實例對象,但是最后發(fā)現(xiàn)根本行不通,嘗試了很久之后都快要放棄了,最后還是讓我在微軟的官網(wǎng)找了一些線索,最終解決了這個問題。

忽然想起之前有小伙伴在群里也問過這個問題,當(dāng)時我好像給出了錯誤的答案,故總結(jié)一下順便糾正之前的錯誤。

05d89786-4c9b-11ed-a3b6-dac502259ad0.png

看完這個激動不已,在System命名空間中通過Activator.CreateInstance 靜態(tài)方法進(jìn)行創(chuàng)建,在.net函數(shù)選板中找到Invoke Node,然后在右鍵菜單中找到“Select Class >> .NET >> Browse...”,如下圖所示:

05f7e618-4c9b-11ed-a3b6-dac502259ad0.png

在彈出的對話框中,找到Assembly選中mscorlib(4.0.0),并在下面的列表中找到System,如下圖所示:

0617e346-4c9b-11ed-a3b6-dac502259ad0.png

雙擊展開System命名空間,找到Activator,如下圖所示:

06303e00-4c9b-11ed-a3b6-dac502259ad0.png

然后鼠標(biāo)左鍵單擊Method,選擇CreateInstance(Type type),如下圖所示:

06508098-4c9b-11ed-a3b6-dac502259ad0.png068c9312-4c9b-11ed-a3b6-dac502259ad0.png

此時發(fā)現(xiàn)改方法需要傳入Type參數(shù),按圖索驥找到了System命名空間中的GetType(String)靜態(tài)方法,如下圖所示:

06a59a24-4c9b-11ed-a3b6-dac502259ad0.png

找到改靜態(tài)方法的方式同上述CreateInstance(Type type)一樣,這里不再贅述,如下圖所示:

06bc73a2-4c9b-11ed-a3b6-dac502259ad0.png06d584aa-4c9b-11ed-a3b6-dac502259ad0.png

此時發(fā)現(xiàn)改方法需要傳入typeName參數(shù),其實就是類型的程序集限定名稱,

文檔中給出了參考代碼,如下圖所示:

using System;
using System.Collections.Generic;
using System.Globalization;

public class Example
{
    public static void Main()
    {
        Type t = typeof(String);
        ShowTypeInfo(t);

        t = typeof(List<>);
        ShowTypeInfo(t);

        var list = new List();
        t = list.GetType();
        ShowTypeInfo(t);

        Object v = 12;
        t = v.GetType();
        ShowTypeInfo(t);

        t = typeof(IFormatProvider);
        ShowTypeInfo(t);

        IFormatProvider ifmt = NumberFormatInfo.CurrentInfo;
        t = ifmt.GetType();
        ShowTypeInfo(t);
    }

    private static void ShowTypeInfo(Type t)
    {
        Console.WriteLine($"Name: {t.Name}");
        Console.WriteLine($"Full Name: {t.FullName}");
        Console.WriteLine($"ToString:  {t}");
        Console.WriteLine($"Assembly Qualified Name: {t.AssemblyQualifiedName}");
        Console.WriteLine();
    }
}
// The example displays output like the following:
//    Name: String
//    Full Name: System.String
//    ToString:  System.String
//    Assembly Qualified Name: System.String, mscorlib, Version=4.0.0.0, Culture=neutr
//    al, PublicKeyToken=b77a5c561934e089
//
//    Name: List`1
//    Full Name: System.Collections.Generic.List`1
//    ToString:  System.Collections.Generic.List`1[T]
//    Assembly Qualified Name: System.Collections.Generic.List`1, mscorlib, Version=4.
//    0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
//
//    Name: List`1
//    Full Name: System.Collections.Generic.List`1[[System.String, mscorlib, Version=4
//    .0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
//    ToString:  System.Collections.Generic.List`1[System.String]
//    Assembly Qualified Name: System.Collections.Generic.List`1[[System.String, mscor
//    lib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorl
//    ib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
//
//    Name: Int32
//    Full Name: System.Int32
//    ToString:  System.Int32
//    Assembly Qualified Name: System.Int32, mscorlib, Version=4.0.0.0, Culture=neutra
//    l, PublicKeyToken=b77a5c561934e089
//
//    Name: IFormatProvider
//    Full Name: System.IFormatProvider
//    ToString:  System.IFormatProvider
//    Assembly Qualified Name: System.IFormatProvider, mscorlib, Version=4.0.0.0, Cult
//    ure=neutral, PublicKeyToken=b77a5c561934e089
//
//    Name: NumberFormatInfo
//    Full Name: System.Globalization.NumberFormatInfo
//    ToString:  System.Globalization.NumberFormatInfo
//    Assembly Qualified Name: System.Globalization.NumberFormatInfo, mscorlib, Versio
//    n=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

我們在傳入改typeName參數(shù)時,傳入Full Name即可,如果你不知道你想創(chuàng)建的類型的Full Name可以先修改參考代碼并執(zhí)行,即可獲取。比如我想創(chuàng)建List對象,改類型的Full Name就是:System.Collections.Generic.List`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]],如下圖所示:

06ee07c8-4c9b-11ed-a3b6-dac502259ad0.png

實際使用中我想創(chuàng)建的是List>對象,如下圖所示:

07168cac-4c9b-11ed-a3b6-dac502259ad0.png

理解之后你就可以創(chuàng)建原本你以為無法創(chuàng)建的對象實例了。




審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • LabVIEW
    +關(guān)注

    關(guān)注

    1970

    文章

    3654

    瀏覽量

    323314

原文標(biāo)題:如何在LabVIEW中創(chuàng)建.net中的List

文章出處:【微信號:LabVIEW QT 修煉之路,微信公眾號:LabVIEW QT 修煉之路】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    OrCAD輕松創(chuàng)建并調(diào)整shape的操作步驟詳解

    文章來源:Cadence楷登PCB及封裝資源中心 怎么OrCAD輕松創(chuàng)建并調(diào)整shape?操作步驟怎么樣的?我們來一一詳解。 如今,設(shè)計時間非常寶貴,每次設(shè)計調(diào)整時等待shape重
    發(fā)表于 11-26 17:51 ?4437次閱讀

    VC# .Net瀏覽Crystal Report

    Web 服務(wù)器上發(fā)布;3、利用Crystal Report 創(chuàng)建的Web應(yīng)用程序,使用戶可以深化圖表并根據(jù)需要篩選信息。 .NET
    發(fā)表于 03-04 16:55

    labview list 列表實時讀取問題

    個局部變量;一個屬性節(jié)點;一個調(diào)用節(jié)點;一個引用。而 局部變量、屬性節(jié)點、調(diào)用節(jié)點并沒在循環(huán)中,只是程序開始運(yùn)行的初始化階段調(diào)用了一次而已;這個程序是怎樣實現(xiàn)循環(huán)顯示數(shù)據(jù)到 list的,拜托各位大神了
    發(fā)表于 09-05 10:19

    LABVIEW WORD型數(shù)據(jù)怎么表示,或怎么創(chuàng)建

    LABVIEW WORD型數(shù)據(jù)怎么表示,或怎么創(chuàng)建,謝謝
    發(fā)表于 03-29 19:42

    labview調(diào)用.net的richtextbox,當(dāng)內(nèi)容出現(xiàn)中文時,selectionstart不準(zhǔn)確的問題,請問怎么解決?

    算的,而在.net的richtextbox,偏移量按字符數(shù)量計算。比如這樣一段字符串:“明天123”,labview的字節(jié)長度是7(一
    發(fā)表于 08-07 18:34

    ENV配置硬件RTC+軟件RTC的步驟

    RTC2.2.編譯下載驗證可以看到 shell 輸入 help,data 的命令已經(jīng)注冊到系統(tǒng)中了,剩下的步驟和上面硬件 RTC 使用步驟是一樣的。原作者:Rb.
    發(fā)表于 07-12 14:31

    LabVIEW調(diào)用DLL的高級技巧后續(xù)資源包

    1、LabVIEW調(diào)用DLL的高級技巧2、.NET InteropAssembly Builder3、LabVIEW機(jī)器人版
    發(fā)表于 07-01 08:28 ?209次下載

    LabVIEW8.5文評估版軟件安裝步驟

    LabVIEW8.5文評估版軟件安裝步驟 1、雙擊本站下載的LabVIEW8.5評估版軟件(中文版)圖標(biāo)如圖1所示。
    發(fā)表于 03-21 12:34 ?1.7w次閱讀
    <b class='flag-5'>LabVIEW</b>8.5<b class='flag-5'>中</b>文評估版軟件安裝<b class='flag-5'>步驟</b>

    鼠標(biāo)HID例程()

    鼠標(biāo) HID 例程 緊接《鼠標(biāo) HID 例程(上)》一文,繼續(xù)向大家介紹鼠 標(biāo) HID 例程的未完的內(nèi)容。
    發(fā)表于 07-26 15:18 ?0次下載

    NANDFLASHWINCE_NET系統(tǒng)的應(yīng)用設(shè)計

    NANDFLASHWINCE_NET系統(tǒng)的應(yīng)用設(shè)計
    發(fā)表于 10-25 10:10 ?17次下載
    NANDFLASH<b class='flag-5'>在</b>WINCE_<b class='flag-5'>NET</b>系統(tǒng)<b class='flag-5'>中</b>的應(yīng)用設(shè)計

    LabVIEW虛擬采集卡的創(chuàng)建教程資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是適合于使用LabVIEW進(jìn)行數(shù)據(jù)采集的初學(xué)者LabVIEW虛擬采集卡的創(chuàng)建教程資料說明。
    發(fā)表于 01-18 08:00 ?48次下載
    <b class='flag-5'>LabVIEW</b><b class='flag-5'>中</b>虛擬采集卡的<b class='flag-5'>創(chuàng)建</b>教程資料說明

    如何創(chuàng)建和使用LabVIEW的LLB文件

    如何創(chuàng)建和使用LabVIEW的LLB文件
    發(fā)表于 11-22 16:12 ?0次下載

    5G AAU 功放控制和監(jiān)測模塊

    5G AAU 功放控制和監(jiān)測模塊
    發(fā)表于 10-28 12:00 ?2次下載
    5G AAU 功放控制和監(jiān)測模塊<b class='flag-5'>簡</b><b class='flag-5'>析</b>

    labview與sql數(shù)據(jù)庫連接5種方法

    數(shù)據(jù)庫的技術(shù),可以通過調(diào)用ADO.NET提供的函數(shù)來連接和操作數(shù)據(jù)庫。LabVIEW,可以使用ADO.NET連接SQL數(shù)據(jù)庫。具體
    的頭像 發(fā)表于 01-07 16:01 ?4839次閱讀

    巖土工程監(jiān)測振弦采集儀的布設(shè)方案及實施步驟

    巖土工程監(jiān)測振弦采集儀的布設(shè)方案及實施步驟 巖土工程監(jiān)測,河北穩(wěn)控科技振弦采集儀是一種常用的地下水位和土層壓縮性監(jiān)測工具。它通過采集
    的頭像 發(fā)表于 05-06 13:25 ?250次閱讀
    巖土工程監(jiān)測<b class='flag-5'>中</b>振弦采集儀的布設(shè)方案及實施<b class='flag-5'>步驟</b><b class='flag-5'>簡</b><b class='flag-5'>析</b>
    RM新时代网站-首页