您可以将 .NET 基本数据类型作为托管类的成员(静态 int i),或指向任何非托管对象的指针(DWORD* pid、HANDLE* 句柄),但不允许直接拥有非托管对象,并且为此目的,整数数组算作非托管对象。
由于这里唯一给您带来问题的是非托管阵列,您可以将其切换到托管阵列。
public ref class Klient
{
public:
Klient(){}
// zmienne
static array<DWORD,2>^ klienty = gcnew array<DWORD,2>(41,2);
static int i = 1;
static DWORD* pid;
static HANDLE* handle;
//funkcje
};
或者,您可以声明一个非托管类,将您需要的任何内容放在那里,并从托管类中获得指向它的指针。(如果您在非静态上下文中执行此操作,请不要忘记从终结器中删除非托管内存。)
public class HolderOfUnmanagedStuff
{
public:
DWORD klienty[41][2];
int i;
DWORD* pid;
HANDLE* handle;
HolderOfUnmanagedStuff()
{
i = 1;
}
};
public ref class Klient
{
public:
Klient(){}
// zmienne
static HolderOfUnmanagedStuff* unmanagedStuff = new HolderOfUnmanagedStuff();
//funkcje
};