2013-10-01 27 views
-1

我有兩個託管的C++類。用於與i2C設備進行通信。我需要在c#中使用它們。我有2個「.h」文件有源代碼和聲明。我是否需要將其轉換爲C#或者如果我正在創建一個DLL,我該怎麼做?C++ mangaged類和c#

代碼爲某事像:

public ref class Class1 
{ 
    AnotherClass object = new Anotherclass(); 
    Method1(); 
    method2() 
} 

public ref class AnotherClass 
{ 
} 

回答

1

將C++/CLI和C#項目添加到相同的解決方案中。然後將C#項目的引用添加到C++/CLI項目

0

簡單地寫在C++(CLI)這些功能的包裝,然後可以通過在項目中的相關引用是可見的,並通過.NET消耗。

+0

這個包裝的東西很混亂(至少對於這個代碼)。它使用對象,我需要它們在我的C#代碼 – Zigma

1

使用ref class的要點是讓C++/CLI編譯器爲類生成元數據到程序集中。不需要.h文件,任何.NET編譯器都可以讀取該元數據並使用該類。

只需在C#項目中添加引用即可。最好的做法是將C++/CLI項目和C#項目放在同一個解決方案中,以便可以使用項目引用。右鍵單擊C#項目,添加引用,項目選項卡。

+0

你的意思是將C++項目添加到C#?它是一個包含源文件的測試應用程序項目 – Zigma

+0

在testapp的情況下,輸出是一個exe文件。那麼我怎麼能在c#中獲得元數據(因爲我沒有任何關於此的想法) – Zigma

+0

http://msdn.microsoft.com/en-us/library/vstudio/zfzh36t7.aspx –