Comment : utiliser un type natif dans une compilation /clr
Vous pouvez définir un type natif dans une compilation /clr et toute utilisation de ce type natif à partir de l’assembly est valide. Toutefois, les types natifs ne seront pas disponibles pour une utilisation à partir de métadonnées référencées.
Chaque assembly doit contenir la définition de chaque type natif qu’il utilisera.
Pour plus d’informations, consultez l’article /clr (Compilation pour le Common Language Runtime).
Exemples
Cet exemple crée un composant qui définit et utilise un type natif.
// use_native_type_in_clr.cpp
// compile with: /clr /LD
public struct NativeClass {
static int Test() { return 98; }
};
public ref struct ManagedClass {
static int i = NativeClass::Test();
void Test() {
System::Console::WriteLine(i);
}
};
Cet exemple définit un client qui consomme le composant. Notez qu’il s’agit d’une erreur d’accès au type natif, sauf si elle est définie dans la compilation.
// use_native_type_in_clr_2.cpp
// compile with: /clr
#using "use_native_type_in_clr.dll"
// Uncomment the following 3 lines to resolve.
// public struct NativeClass {
// static int Test() { return 98; }
// };
int main() {
ManagedClass x;
x.Test();
System::Console::WriteLine(NativeClass::Test()); // C2653
}
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour