다음을 통해 공유


__property

 

게시: 2016년 4월

참고

이 항목은 Managed Extensions for C++ 버전 1에만 적용됩니다. 이 구문은 버전 1 코드를 유지하기 위해서만 사용해야 합니다. 참조 property (C++ Component Extensions) 동등한 기능을 사용 하 여 새 구문에서에 대 한 내용은 합니다.

관리되는 클래스의 스칼라 또는 인덱싱된 속성을 선언합니다.

구문

__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);
}

출력

0
4
4