VC9 Beta2 (Visual Studio 2008 Beta2)
ちょっと試してみました。
#include <iostream> ref class Test { private: int _value; public: Test() : _value(0) {} property int Value { private: void set(int val) { this->_value = val; } int get() { return this->_value; } } }; int main(array<String^>^ args) { Test test; // 1, コンパイル・エラー(正常) test.Value = 5; // 2, コンパイル・エラー(ecma-372 の仕様では通るはず) std::cout << test.Value << std::endl; }
こんな感じでした。
「プロパティに記述されたアクセス可能性は次に記述されたアクセサ一つにしか効かない」という不思議仕様があるのですが、喜ばしいことに対応していません(w
正直、現状のecma372の仕様は少しおかしいと思っているのですが、自分たちで制定したものだから責任を持って準拠してほしいものです。
変な仕様を作ってしまってサボタージュするくらいなら、制定段階で断固戦えと。