Я только начал работать с CLI.В C ++ мы можем получить доступ к статическим членам, таким как className :: static_field.Но в случае использования неуправляемого кода из C # / CLI ... как мы к нему обращаемся?
Я прочитал некоторые места, в которых нам нужно создать DLL-файл проекта C ++, и использовать это в CLI / C #.Для нестатических членов я могу использовать, используя процесс.Но при использовании static я вижу эти ошибки ...
unresolved token (0A0007CC) "public: static int unManaged::a" (?a@unManaged@@2HA)
error LNK2001: unresolved external symbol "public: static int unManaged::a" (?a@unManaged@@2HA)
fatal error LNK1120: 2 unresolved externals
Пример класса UnManaged ..
class UnManaged {
int data;
static int a;
public:
UnManaged () {
data = 0;
}
static int getStat() {
return a;
}
static void setStat(int val) {
a = val;
}
int getData() {
return data;
}
void setData(int val) {
data = val;
}
};
Я хочу получить доступ из класса CLI, как показано ниже ...
void Main(array<String^>^ args) {
UnManaged s;
UnManaged ::setStat(25); //throwing linker error
MessageBox::Show(System::Convert::ToString(s.getData()));
s.setData(100);
MessageBox::Show(System::Convert::ToString(s.getData()));
}