2011-08-11 56 views
10

我無法獲得C++項目中顯示的C++/CLI枚舉的內容。C++/CLI enum沒有在C#中參考C++/CLI項目

我可以在我寫的類內部看到,甚至可以看到枚舉,但看不到枚舉值。所以我不能在我的C#端使用這個東西。

爲什麼不顯示C++/CLI枚舉的內容。

我的C++/CLI項目被編譯爲混合以重用C++庫。

而且我使用Visual Studio 2005

回答

23

確保使用enum class創建.NET兼容枚舉,而不是原生的C++ enum類型。

Visual C++的後續版本需要public enum class來清除作爲C++ 11一部分的enum class上下文關鍵字(因此創建本機類型)。

+2

我在哪裏弄清楚這一點。 –

+1

@Xaade:看看枚舉的定義。如果它看起來像'enum X {A,B,C};'你需要將它改爲'public enum class X {A,B,C};'你還需要更改使用它的C++/CLI代碼,從'A'到'X :: A'。 –

+1

不,不,我瞭解你,我明白該怎麼做。我只是想知道我該如何解決這個問題。 –