【C++/CLI】プロパティをヘッダーと実装に分ける

タイトルの通り C++/CLI でヘッダーにはプロパティ(propertyキーワード)の宣言だけを記述し、別のファイルに実装を宣言する方法です。VisualStudio では porperty 宣言は実装を自動生成してくれないため自分で手打ちする必要があります。

ヘッダー側

// Sample.hpp
public ref class Sample
{
    int _value;
    
public:
    
    property int Value
    {
        int get()
        private: void set(int value); // setをprivateする場合ラベルを指定する
    }
}

実装側

// Sample.cpp

#inclide "Sample.hpp"

int ProjectorWrapper::Value::get()
{
    return _value;
}
void ProjectorWrapper::Value::set(int value)
{
    _value = value;
}

プロパティに対するインデクサなどの宣言方法は公式リファレンスを参照。

MSDN, 方法: C++/CLI でプロパティを使用する