[C++/CLI]Nativeの構造体をラッピングする①
単純な組み込み型のみで構成された構造体のラッピング
/*
*Native(C言語)での構造体定義
*/
typedef struct tagTEST1
{
int imember;
unsigned long ulmember;
} TEST1;
/*
*C++/CLIでラッピングしたクラス
*/
public ref class M_TEST1
{
private:
TEST1 *st;
public:
M_TEST1()
{
st = new TEST1();
}
~M_TEST1()
{
if (st != NULL)
{
delete st;
st = NULL;
}
}
property int IntMember
{
int get() { return st->imember; }
void set(int value) { st->imember = value; }
}
property unsigned long ULMember
{
unsigned long get() { return st->ulmember; }
void set(unsigned long value) { st->ulmember = value; }
}
};
/*
*Native(C言語)での構造体定義
*/
typedef struct tagTEST1
{
int imember;
unsigned long ulmember;
} TEST1;
/*
*C++/CLIでラッピングしたクラス
*/
public ref class M_TEST1
{
private:
TEST1 *st;
public:
M_TEST1()
{
st = new TEST1();
}
~M_TEST1()
{
if (st != NULL)
{
delete st;
st = NULL;
}
}
property int IntMember
{
int get() { return st->imember; }
void set(int value) { st->imember = value; }
}
property unsigned long ULMember
{
unsigned long get() { return st->ulmember; }
void set(unsigned long value) { st->ulmember = value; }
}
};