用C#建立COM對象(轉自電腦世界)

來源:互聯網
上載者:User
在本篇文章中,我們將討論下面的問題:
·使用C#建立一個簡單的COM對象(使用COM的Interop特性)。
·從VC++用戶端軟體中訪問COM。用戶端軟體使用了TypeLibrary(.TLB檔案)。
為了簡單和方便開發人員使用、測試起見,我們使用了SQLSERVER資料庫軟體的預設安裝中的Northwind資料庫。
·修改COM對象中SQLServer的名字,與SQLServer串連。
·我們已經建立了串連資料庫用的分別為scott、tiger的使用者名稱和口令,我們可以使用它或者其他現有的使用者名稱和口令。
第一部分:用C#建立簡單的COM對象
COM對象是ClassLibrary類,它產生DLL檔案。要在VS開發環境中建立一個簡單的COM對象,我們可以依次選擇“檔案”->“新建立”->“工程”->“VisualC#工程”->“類庫”,然後建立一個名字為Database_COMObject的工程。

需要注意的是:在COM中調用VC#對象需要下面的條件:
·類必須是public性質。
·特性、方法和事件必須是public性質的。
·特性和方法必須在類介面中定義。
·事件必須在事件介面中定義。
不是在這些介面中定義的public性質的類成員不能被COM訪問,但它們可以被其他的.NET Framework對象訪問。要讓COM能夠訪問特性和方法,我們必須在類介面中定義它們,使它們具有DispId屬性,並在類中實現這些特性和方法。這些成員定義時的順序也就是它們在COM中順序。要讓COM訪問類中的事件,必須在事件介面中定義這些事件,並賦予它們DispId屬性。事件介面不應當由類完成,類只實作類別介面(它可以實現不止一個介面,但第一個介面是預設介面),應當在預設介面中實現需要讓COM訪問的方法和特性,方法和特性必須被標識為public性質,並符合在類介面中的定義。需要讓COM訪問的事件也在預設的類介面中完成,它們也必須被標識為public性質,並符合事件介面中的定義。
在介面名字之前,每個介面需要一個GUID特性。要產生變個唯一的Guid,需要運行guidgen.exe工具軟體,並選擇“註冊表格式”
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.