小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

對.Net平臺開發(fā)實踐的總結.(3) - .NET教程 - CND8學院

 悟靜 2011-02-10
三、Com和.Net互操作規(guī)范

.NET 技術已經(jīng)成為微軟平臺的主流,但是在Win32時代開發(fā)了很多COM、DCOM組件,由于在開發(fā)COM組件時投入了大量的人力、財力,如何在.NET環(huán)境下重用這些COM組件就顯得更有意義。

.NET支持運行時通過COM、COM+、本地WinAPI調用與未托管代碼的雙向互操作性,要實現(xiàn)互操作性,必須首先引入.NET Framework的 System.Runtime.InteropServices命名空間。

C#的語法為:

using System.Runtime.InteropServices; 


1) .NET訪問API

.NET允許C#訪問未托管的DLL的函數(shù)。如要調用Windows User32.dll的MessageBox函數(shù):

int MessageBox(HWND hwnd,LPCTSTR lpText, LPCTSTR lpCaption,UINT uType)

可以聲明一個具有DLLImport屬性的static extern方法:

using System.Runtime.InteropServices;

[DllImport(“user32.dll”)]

static ertern int MessageBox(int hwnd,string text,string caption,int type); 


然后在代碼里面直接調用就可以了。這里要注意在調用返回字符串的API中使用StringBuilder對象。

2) .NET訪問COM組件

從.NET調用COM組件比較容易,只要使用tlbimp.exe產(chǎn)生COM的裝配形式的WarpClass,然后在.NET項目中調用即可。

注意COM的類型信息通過Type Library文件描述,.NET裝配件是自描述的。Tlbimp的作用是從COM組件及其類型信息中產(chǎn)生自描述的裝配件。

1.編寫Com組件

編譯生成一個ComAccount.dll。

2. 產(chǎn)生.NET可訪問的包裝類(assembly),使用TlbImp.exe產(chǎn)生.NET裝配件。

TlbImp /out:NetAccount.dll ComAccount.dll

3.在.NET代碼中訪問

.NET代碼只需引用NetAccount.dll,就可以像訪問.NET的裝配件一樣訪問COM組件。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多