C++/CLI ラッピング入門3
今回はラップしたアンマネージドクラスの
int、doubeなどの基本型(プリミティブ型) のメンバ変数をマネージ側に公開します。
—————————————————————–
・基本型メンバ変数の公開
基本型は、.NETでもネイティブでも同じように扱えるので
アンマネージドクラスの基本型メンバを直接プロパティにすることで
公開できます。
//---------------------
// アンマネージドクラス(C++)
class CPP
{
public:
int value;
};
//---------------------
// マネージドラッパークラス(C++/CLI)
public ref class CLI
{
public:
CLI() { pData = new CPP(); }
~CLI() { this->!CLI(); }
!CLI()
{
delete pData;
pData=NULL;
}
// int型 メンバ変数をプロパティとして公開する。
property int value
{
//ゲッター pDataのメンバを返す
int get()
{
return pData->value;
}
// セッター pDataのメンバに代入する。
void set(int value)
{
pData->value = value;
}
}
internal:
CPP* pData;
};
//---------------------
次回は複合型(クラス、構造体)メンバ変数の公開方法の予定です。