2011-12-29 7 views
0

私はC++/CLIを使って、クラスのプロトタイプをヘッダーファイルで宣言しようとしていて、それらをcppファイルに実装しようとしています。プロパティを宣言し、後で定義しますか?

一般的に、これはかなり一般的ですが、C++/CLIの構文では動作しないようですが、何が欠けていますか?

#using <mscorlib.dll> 

using namespace System; 

public ref class AClass { 

    public: 

     static Boolean GetSomething(); // Compiler is fine with this 
     static property Boolean Something { Boolean get(); } // Compiler doesn't complain about this 

}; 

// Compiler is not cool with this 
property Boolean AClass::Something { 

    Boolean get() { return true; } 

} 

// Compiler is fine with this 
Boolean AClass::GetSomething() { 

    return true; 

} 

私は、構文の様々な順列を試してみた、と何も動いていないようにみえ、検索は多分これが広く、もはや使用されていない(どちらか助けていないようです?私はそれは私が分割して作業ができます見つけます大規模なクラスでより効果的に...)。

プロパティのプロトタイプでコンパイラが正常であると言うとき、私は、実行しようとしている実装がコメントアウトされている(そしてプロトタイプがまだ存在している)場合、コンパイラは "成功"リンク中に心臓発作を起こします。

答えて

1

通常の関数定義のように、ゲッタープロパティを定義する必要があります。

public ref class AClass 
{ 
public: 
    static property Boolean Something { Boolean get(); } 
}; 


Boolean AClass::Something::get() 
{ 
    return true; 
} 
関連する問題