C++/CLI ラッピング入門3 メンバ変数の公開 基本型編

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;
};
//---------------------

次回は複合型(クラス、構造体)メンバ変数の公開方法の予定です。

広告

akatukisiden について

フリーランスプログラマ 使用言語はC++,C#とそのつなぎのC++/CLI 専門はクライアントアプリ開発
カテゴリー: C++/CLI, 相互運用 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中