有辦法用一樣的方法,把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