91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#的COM接口怎么轉換

發布時間:2021-12-01 11:53:29 來源:億速云 閱讀:166 作者:iii 欄目:編程語言

這篇文章主要介紹“C#的COM接口怎么轉換”,在日常操作中,相信很多人在C#的COM接口怎么轉換問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C#的COM接口怎么轉換”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

C#中不僅支持.Net 平臺,而且支持COM平臺。為了支持 COM和.Net,C# 包含一種稱為屬性的獨特語言特性。一個屬性實際上就是一個 C# 類,它通過修飾源代碼來提供元信息。屬性使 C# 能夠支持特定的技術,如 COM 和 .Net,而不會干擾語言規范本身。C# 提供將COM接口轉換為 C#接口的屬性類。另一些屬性類將C# COM接口轉換為C# 類。執行這些轉換不需要任何 IDL 或類工廠。

現在部署的任何COM 組件都可以在接口轉換中使用。通常情況下,所需的調整是完全自動進行的。

特別是,可以使用運行時可調用包裝 (RCW) 從 .NET 框架訪問 COM 組件。此包裝將 COM 組件提供的C# COM接口轉換為與 .NET 框架兼容的接口。對于 OLE 自動化接口,RCW 可以從類型庫中自動生成;對于非 OLE 自動化接口,開發人員可以編寫自定義 RCW,手動將 COM 接口提供的類型映射為與 .NET 框架兼容的類型。

下面是接口轉換的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#的COM接口怎么轉換”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

com
AI

汕头市| 桑植县| 高碑店市| 津市市| 稻城县| 临洮县| 湘西| 安阳市| 伊宁市| 苗栗县| 安丘市| 休宁县| 集贤县| 莎车县| 烟台市| 锦屏县| 富川| 商都县| 胶州市| 麻城市| 嘉黎县| 杭州市| 凤山县| 宜兰市| 安多县| 通许县| 莱阳市| 梧州市| 汉寿县| 阜宁县| 汾西县| 安新县| 凤庆县| 广德县| 泰来县| 长阳| 拉萨市| 平利县| 林芝县| 方山县| 乌恰县|