C# で使用するネイティブ C++ クラス用の C++ CLI ラッパーの作成について質問があります。
コード例を次に示します。
#include "stdafx.h"
#pragma once
using namespace System;
namespace Wrapper {
class NativeClass
{
public:
NativeClass() {}
int Add(int a, int b)
{
return a+b;
}
};
public ref class Wrapper
{
public:
Wrapper() {pNative = new NativeClass();}
int Add(int a, int b)
{
return(pNative->Add(a,b));
}
~Wrapper()
{
delete pNative;
pNative = 0;
}
!Wrapper()
{
this->~Wrapper();
}
//My problem is here.
NativeClass* GetNative()
{
return pNative;
}
private:
NativeClass* pNative;
};
}
このコードは正常に動作します。他のラッパー クラスで使用するには、ネイティブ クラスを参照するポインターを取得する必要があります。ただし、このラッパー クラスを使用しているときに、関数「GetNative」が C# で表示されるのは望ましくありません。どうすれば非表示にできますか?