__typeof
附註本主題僅適用於第 1 版的 Managed Extensions for C++。 這個語法只應該用於維護第 1 版的程式碼。 請參閱typeid如有關在新語法中使用的相等功能。
傳回 System::Type 指定的型別。
__typeof(typename)
其中:
- 型別名稱
您想要的 managed 型別名稱 System::Type 名稱。 請注意在受管理的程式中,某些原生型別的別名 common language runtime 中的型別。 例如, 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]);
}
Output
in Type * constructor
AtClass