開発者はマネージC++でこれと同等のことをどのように行いますか?:
c#コード
public String SomeValue
{
get;
set;
}
私はネットを調べていくつかの解決策を見つけましたが、ゲッター/セッターとマネージC ++のカラフルな歴史を考えると、どちらが正しい(最新の.NET 3.5)方法であるかを区別するのは困難です。
ありがとう!
開発者はマネージC++でこれと同等のことをどのように行いますか?:
c#コード
public String SomeValue
{
get;
set;
}
私はネットを調べていくつかの解決策を見つけましたが、ゲッター/セッターとマネージC ++のカラフルな歴史を考えると、どちらが正しい(最新の.NET 3.5)方法であるかを区別するのは困難です。
ありがとう!
マネージC++は自動プロパティをサポートしていません。バッキングフィールドとアクセサを手動で宣言する必要があります。
private: String* _internalSomeValue;
public:
__property String* get_SomeValue() { return _internalSomeValue; }
__property void set_SomeValue(String *value) { _internalSomeValue = value; }
C ++ / CLIは、非常に単純な構文で自動プロパティをサポートしています。
public: property String^ SomeValue;
C ++ / CLIでは、自動プロパティ構文を使用する場合、各アクセサーメソッドのアクセシビリティを個別に制御することはできません。バッキングフィールドとメソッドを自分で定義する必要があります。
private: String^ field;
property String^ SomeValue {
public: String^ get() { return field; }
private: void set(String^ value) { field = value; }
}
C ++ / CLIでは、次のようにします。
property String^ SomeValue;
より多くの検索用語を提供するために、これは自明なプロパティと呼ばれます