__typeof
게시: 2016년 4월
참고 이 항목은 Managed Extensions for C++ 버전 1에만 적용됩니다. 이 구문은 버전 1 코드를 유지하기 위해서만 사용해야 합니다. 참조 typeid(C++ 구성 요소 확장) 동등한 기능을 사용 하 여 새 구문에서에 대 한 내용은 합니다.
지정된 형식의 System::Type을 반환합니다.
__typeof(
typename
)
다음은 각 문자에 대한 설명입니다.
- typename
System::Type 이름을 원하는 관리되는 형식의 이름입니다. 관리되는 프로그램에서 일부 네이티브 형식은 공용 언어 런타임의 형식으로 별칭이 지정됩니다. 예를 들어 int는 System::Int32의 별칭입니다.
설명
__typeof 연산자를 사용하면 지정한 형식의 System::Type 형식을 가져올 수 있습니다.__typeof를 사용하여 사용자 지정 특성 블록에서 System::Type의 값을 반환할 수도 있습니다. 사용자 지정 특성을 만드는 방법에 대한 자세한 내용은 특성을 참조하십시오.
예제
다음 예제에서는 사용자 지정 특성(AtClass)이 __gc 클래스(B)에 적용됩니다. 그런 다음 사용자 지정 특성의 값이 다음과 같이 __typeof를 사용하여 검색됩니다.
// keyword__typeof.cpp
// compile with: /clr:oldSyntax
#using <mscorlib.dll>
using namespace System;
public __gc class MyClass {};
[attribute(All)]
__gc class AtClass {
public:
AtClass(Type*) {
Console::WriteLine("in Type * constructor");
}
AtClass(String*) {}
AtClass(int) {}
};
[AtClass(__typeof(MyClass))] // Apply AtClass attribute to class B
__gc class B {};
int main() {
Type * mytype = __typeof(B);
Object * myobject __gc[] = mytype -> GetCustomAttributes(true);
Console::WriteLine(myobject[0]);
}
출력
in Type * constructor
AtClass