Properties C++/CLI速记属性 开发人员在托管C++中如何进行等价操作?p>
c#代码Properties C++/CLI速记属性 开发人员在托管C++中如何进行等价操作?p>,properties,c++-cli,shorthand,Properties,C++ Cli,Shorthand,c#代码 我已经搜索过网络并找到了一些解决方案,但是很难区分哪种方法是正确的(最新的.NET 3.5),因为GETS/SETTER和托管C++的丰富历史。 谢谢
我已经搜索过网络并找到了一些解决方案,但是很难区分哪种方法是正确的(最新的.NET 3.5),因为GETS/SETTER和托管C++的丰富历史。
谢谢<托管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;
只是给你更多的搜索词,这叫做一个小属性
托管C++过时了。C++/CLI是当前的方法。对不起,我正在使用C++/CLI。我仍然使用旧的名字:(DanDan:C++ + CLI是完全不同的语言。虽然它是托管C++的继承者,但托管C++不是真正的旧名称。我将确保我使用正确的名称来使用正确的语言。在C++/CLI版本中,我如何使SETter私有化呢?property String^ SomeValue;