__typeof
Publication: mars 2016
Remarque Cette rubrique s'applique uniquement à la version 1 des extensions managées pour C++. Cette syntaxe doit être utilisée uniquement pour conserver le code de la version 1. Consultez typeid (Extensions de composant C++) Pour plus d’informations sur l’utilisation de la fonctionnalité équivalente dans la nouvelle syntaxe.
Retourne le System::Type d'un type spécifié.
__typeof(
typename
)
où :
- typename
Nom d'un type managé pour lequel vous souhaitez obtenir le nom System::Type. Notez que dans un programme managé, certains types natifs ont comme alias des types du Common Langage Runtime. Par exemple, int est un alias pour System::Int32.
Notes
L'opérateur __typeof vous permet d'obtenir le type System::Type d'un type que vous spécifiez.__typeof peut également servir à retourner une valeur System::Type dans un bloc d'attributs personnalisé. Pour plus d'informations sur la création de vos propres attributs, consultez attribute.
Exemple
Dans l'exemple suivant, un attribut personnalisé (AtClass) est appliqué à une classe __gc (B). La valeur de l'attribut personnalisé est ensuite extraite avec __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]);
}
Sortie
in Type * constructor
AtClass