新聞中心
本文向大家介紹C# COM接口轉(zhuǎn)換,可能好多人還不知道C# COM接口轉(zhuǎn)換,沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。

在成都網(wǎng)站建設(shè)、網(wǎng)站制作中從網(wǎng)站色彩、結(jié)構(gòu)布局、欄目設(shè)置、關(guān)鍵詞群組等細(xì)微處著手,突出企業(yè)的產(chǎn)品/服務(wù)/品牌,幫助企業(yè)鎖定精準(zhǔn)用戶,提高在線咨詢和轉(zhuǎn)化,使成都網(wǎng)站營銷成為有效果、有回報的無錫營銷推廣。創(chuàng)新互聯(lián)專業(yè)成都網(wǎng)站建設(shè)十年了,客戶滿意度97.8%,歡迎成都創(chuàng)新互聯(lián)客戶聯(lián)系。
C#中不僅支持.Net 平臺,而且支持COM平臺。為了支持 COM和.Net,C# 包含一種稱為屬性的獨特語言特性。一個屬性實際上就是一個 C# 類,它通過修飾源代碼來提供元信息。屬性使 C# 能夠支持特定的技術(shù),如 COM 和 .Net,而不會干擾語言規(guī)范本身。C# 提供將COM接口轉(zhuǎn)換為 C#接口的屬性類。另一些屬性類將C# COM接口轉(zhuǎn)換為C# 類。執(zhí)行這些轉(zhuǎn)換不需要任何 IDL 或類工廠。
現(xiàn)在部署的任何COM 組件都可以在接口轉(zhuǎn)換中使用。通常情況下,所需的調(diào)整是完全自動進行的。
特別是,可以使用運行時可調(diào)用包裝 (RCW) 從 .NET 框架訪問 COM 組件。此包裝將 COM 組件提供的C# COM接口轉(zhuǎn)換為與 .NET 框架兼容的接口。對于 OLE 自動化接口,RCW 可以從類型庫中自動生成;對于非 OLE 自動化接口,開發(fā)人員可以編寫自定義 RCW,手動將 COM 接口提供的類型映射為與 .NET 框架兼容的類型。
下面是接口轉(zhuǎn)換的C#程序:
- using System.Runtime.InteropServices;
- // 聲明一個COM接口 IMediaControl
- [Guid("56A868B1-0AD4-11CE-B03A-0020AF0BA770"),
- InterfaceType(ComInterfaceType.InterfaceIsDual)]
- interface IMediaControl // 這里不能列出任何基接口
- {
- void Run();
- void Pause();
- void Stop();
- void GetState( [In] int msTimeout, [Out] out int pfs);
- void RenderFile(
- [In, MarshalAs(UnmanagedType.BStr)] string strFilename);
- void AddSourceFilter(
- [In, MarshalAs(UnmanagedType.BStr)] string strFilename,
- [Out, MarshalAs(UnmanagedType.Interface)] out object ppUnk);
- [return : MarshalAs(UnmanagedType.Interface)]
- object FilterCollection();
- [return : MarshalAs(UnmanagedType.Interface)]
- object RegFilterCollection();
- void StopWhenReady();
- }
【編輯推薦】
- C# this關(guān)鍵字詳解
- C#調(diào)用析構(gòu)方法詳解
- C#釋放托管資源簡單描述
- C#單路代理簡單分析
- C#文法產(chǎn)生式概述
新聞標(biāo)題:C#COM接口轉(zhuǎn)換經(jīng)驗總結(jié)
網(wǎng)站路徑:http://www.5511xx.com/article/dpgdopo.html


咨詢
建站咨詢
