看板 C_Sharp 關於我們 聯絡資訊
有辦法用一樣的方法,把unmanaged C++的DLL檔案匯入給C#使用嗎? 我寫了一個簡單的unmanaged C++程式 namespace mySpace{ class myClass { public: double PI; double TwoPI() { return PI*2.0; } myClass() { PI = 3.1415926; } }; } 這樣C#沒辦法加入Test.dll。 我在class myClass前面加入public, 改成public class myClass之後, 在屬性裡面改成/clr, 就可以在C#裡面加入Test.dll檔案。 之後,建立一個C#程式,並加入這個DLL檔案Test.dll using System; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { mySpace.myClass testCPPClass = new mySpace.myClass(); Console.WriteLine(testCPPClass.PI.ToString()); } } } 這樣會出現 'mySpace.myClass' 不包含 'PI' 的定義,也找不到擴充方法 'PI' 來接受型別 'mySpace.myClass' 的第一個引數 (您是否遺漏 using 指示詞或組件參考?) 請問,有辦法讓C#使用unmanaged C++的程式嗎? 因為有一些舊的library想讓C#使用,想以變化最少的方式,來加入到C#裡,謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.162.129