__property

Hinweis

Dieses Thema gilt nur für Version 1 von Managed Extensions for C++ zu.Diese Syntax sollte nur verwendet werden, um Code zu erhalten, Version 1.Weitere Informationen finden Sie unter Eigenschaft zu Informationen über die Verwendung der entsprechenden Funktionen in der neuen Syntax.

Deklariert ein Skalarwert oder indizierte Eigenschaft für die verwaltete Klasse.

__property function-declarator

Hinweise

Das __property-Schlüsselwort stellt die Deklaration einer Eigenschaft vor und kann in einer Klasse, einer Schnittstelle oder einem Werttyp angezeigt werden. Eine Eigenschaft kann einen Getter für Reservierungen (schreibgeschützt), eine Funktion schreiben (Compositor) nur mit Lese-/Schreibzugriff haben (oder beides).

Hinweis

Ein Eigenschaftenname kann den Namen der verwalteten Klasse nicht übereinstimmen, in der er enthalten ist.Der Rückgabetyp der Funktion Getter müssen den Typ des letzten Parameters eine entsprechende Funktion für Setter übereinstimmen.

Beispiel

Im folgenden Beispiel wird eine skalare Eigenschaft (Size) zur MyClass Deklaration hinzugefügt. Die Eigenschaft wird dann implizit mithilfe der get_Size und set_Size-Funktionen festgelegt und abgerufen:

// 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