關於c 呼叫DLL的方法,介面,類

2021-05-23 10:25:47 字數 544 閱讀 7843

我現在有乙個沒有原始碼的dll,想在c#的工程裡呼叫,這個dll的使用方法是首先建立乙個物件,然後呼叫這個物件公開的介面來使用,但現在不知道怎麼在c#裡宣告這個介面,如果是com的話,可以通guid來指定,但沒有guid,應該怎麼辦呢?

如果是com,註冊後直接引用,然後再定義相關物件就行

自定義屬性宣告以 attributeusageattribute 開始,而該屬性定義屬性類的一些主要屬性

通過使用comvisibleattribute 對類進行標記使其成為com 可見的類

.net編寫直接使用最主要的是介面引數的型別和返回值型別一定要與dll中的型別相對應地換成c#中對應的型別,就可以了

在專案新增引用裡面直接引用就可以,然後在物件瀏覽器中可以看到這個dll的函式名

加引用需要com的啊,用dllimport匯入普通的函式我知道,我想知道如何匯入其中的介面,型別,類這些東西。

目前我用到的介面裡面的型別,比如結構體,我都是自己在外面重新定義的,然後直接作為引數型別往裡傳,就可以了,至於有沒有直接的方法把它們從dll中匯出來,不太清楚,希望能有高手幫樓主解答吧

泛型類,方法,介面

泛型類 public class genericdemo4 建立乙個用於操作student物件的工具類,對物件進行設定和獲取。太有侷限性了,可不可以定義乙個可以操作所有物件的工具呢?型別向上抽取,當要操作的物件的型別不確定的時候,為了擴充套件。可以使用object型別來完成。但是這種方式有一些小弊端...

c 反射呼叫程式集方法 介面例項

新建類庫 webtest 新增相應類 reflecttest 介面inte ce1 using system using system.collections.generic using system.linq using system.text namespace webtest public c...

泛型類, 方法,介面,萬用字元

舉例 泛型類 public class demo private t name public t getname return obj public void setname t name this.name name public class demotest public static void...