Esta documentación está archivada y no tiene mantenimiento.

Tutorial: Utilizar las características de /clr:pure

Visual Studio 2005

Este tutorial muestra el uso de la reflexión en una aplicación de MSIL puro. La solución Scribble de Windows Forms se ha ampliado para incluir algunas clases nativas que contienen datos estáticos, así como para exponer controles de formularios Windows Forms que se deben poder utilizar desde el Diseñador de Windows Forms. Si se genera el ejemplo con la opción /clr:pure, se tratan los posibles problemas con este escenario. Vea Cómo: Migrar a /clr:pure para obtener más información.

Para generar y ejecutar esta aplicación de ejemplo

  1. Descargue el ejemplo ScribbleDotNET.

  2. Abra el archivo de la solución, Scribble.sln, en el entorno de desarrollo de Visual Studio.

  3. Genere la solución mediante las configuraciones "CLR-Pure Debug" o "CLR-Pure Release".

  4. Abra el componente StringDialog.h en modo de diseño

  5. La ventana de diseño que aparece contendrá una instancia de "ScribbleCustomControl".

  • Nueva sintaxis de C++ para .NET

  • Reflexión

  • marshal_as<T> para tener acceso a tipos nativos desde clases administradas

Este ejemplo crea una clase no administrada y la ajusta a una clase Control administrada. Cuando se compila en una aplicación de MSIL puro, el Diseñador de Windows Forms de Visual Studio puede reflejarse en el archivo EXE resultante y cargar el control administrado para uso en este diseñador. Este comportamiento sólo es posible cuando la finalidad de la configuración actual es crear una aplicación de MSIL puro, y no en un modo no administrado ni mixto.

En nuestro Control, creamos una instancia de una clase nativa y utilizamos marshal_as<T> para permitir que el control administrado tenga acceso a un tipo de datos nativos devueltos por una llamada a un método de nuestra clase nativa. Si no usamos marshal_as<T>, no podríamos tener acceso al tipo de datos no administrados desde una aplicación con CLR habilitado.

Mostrar: