我知道已經有很多類似於這個的問題,但是我無法解決我的問題。用C++/CLI將C++結構包裝起來並使用C#
我寫了這個小代碼在Visual C++
#pragma once
using namespace System;
namespace MyWrapper {
public ref class MySubClass{
String^ username;
String^ password;
};
public enum class MyEnum{
VALUE1 = 1,
VALUE2 = 2,
VALUE3 = 3,
VALUE4 = 4
};
public ref class MyClass{
String^ string1;
String^ string2;
String^ string3;
long exampleNumber;
MyEnum choosenValue;
MySubClass credentials;
unsigned int otherNumber;
};
}
MyClass
是在外部DLL使用的結構和我寫了這個看着DLL的源代碼。它編譯,我可以從我的C#代碼看出來,這個C#代碼的工作:
MyClass instance = new MyClass();
但這不起作用:
instance.string1 = "test";
無法找到string1
內MyClass
。 string1
只是一個例子,我看不到任何我需要的值。我做錯了什麼?
string1是私有的,所以你不能從外部訪問它。 – JeffRSon 2014-10-20 15:54:09
我想你可能想使用'property' - [如何:在C++/CLI中使用屬性](http://msdn.microsoft.com/en-us/library/2f1ec0b1.aspx)。你可以使用'get'和'set'來轉發你的C++'struct'(儘管你應該以不同的方式命名) – crashmstr 2014-10-20 15:54:32
謝謝,我正在閱讀它!這是我第一次使用C++/CLI,並且我有很多東西要學習! – HypeZ 2014-10-20 15:57:39