__property
备注
本主题仅适用于托管扩展的 1 版 C++ 的。只应在此语法维护 1 版代码。有关使用等效功能的信息在新语法,请参见 属性 。
声明一个标量或索引属性的托管类的。
__property function-declarator
备注
__property 关键字引入属性的说明,并可以出现在类、接口、值类型。 属性可以有 getter 函数 (只读), setter 功能 (仅写入),或者两个 (读/写)。
备注
属性名不能与包含它的托管类的名称。getter 函数的返回类型必须与相应的 setter 功能的最后一个参数的类型。
示例
在下面的示例中,标量属性 (Size) 添加到 MyClass 说明。 使用 get_Size 和 set_Size 功能,属性将隐式然后设置和检索:
// keyword__property.cpp
// compile with: /clr:oldSyntax
#using <mscorlib.dll>
using namespace System;
__gc class MyClass {
public:
MyClass() : m_size(0) {}
__property int get_Size() { return m_size; }
__property void set_Size(int value) { m_size = value; }
// compiler generates pseudo data member called Size
protected:
int m_size;
};
int main() {
MyClass* class1 = new MyClass;
int curValue;
Console::WriteLine(class1->Size);
class1->Size = 4; // calls the set_Size function with value==4
Console::WriteLine(class1->Size);
curValue = class1->Size; // calls the get_Size function
Console::WriteLine(curValue);
}
Output
0
4
4