Compartilhar via


Demonstra Passo a passo: Usando /clr: puros recursos

Esta explicação passo a passo demonstra o uso da reflexão no aplicativo de MSIL puro. A solução de rabisco do Windows Forms é estendida para incluir algumas classes nativas que contêm dados estáticos, assim como a exposição controles Windows Forms que devem ser utilizáveis do designer de formulários do Windows. Criando o exemplo com o /clr: pura opção elimina possíveis problemas com esse cenário. See Como: Migrar para o /clr: puro for more information.

Pré-requisitos

Exemplo de ScribbleDotNET: Estendendo o Rabisco com recursos CLR

Para construir/executar o aplicativo de exemplo

  1. Baixe o ScribbleDotNET exemplo.

  2. Abra o arquivo de solução, Scribble.sln, no ambiente de desenvolvimento Visual Studio.

  3. Construir a solução usando o "puro do CLR Debug" ou "Release puro do CLR" configurações.

  4. Abra o componente de StringDialog.h no modo de Design

  5. A janela de design que será exibida conterá uma instância de "scribblecustomcontrol".

Tecnologias

  • Nova sintaxe do C++ para.NET

  • Reflection

  • marshal_as <T> Para obter acesso a tipos nativos de classes gerenciadas.

Este exemplo cria uma classe não gerenciada e delimita em uma classe de controle gerenciado. Quando compilado em um aplicativo de MSIL puro, o designer Visual Studio Windows Forms é capaz de refletir sobre o arquivo EXE resultante e carregar o controle gerenciado para uso no Windows Forms designer. Esse comportamento é possível somente quando a configuração atual é criar um MSIL puro, aplicativo e não no modo de não gerenciado ou misto.

Dentro do controle, criamos uma instância uma instância de uma classe nativa. As informações que precisamos são uma seqüência de caracteres nativa. Usamos o marshal_as <T> Para converter os dados para um tipo de dados gerenciados que podemos usar em um aplicativo habilitado para CLR. Para obter mais informações sobre a biblioteca de marshaling, consulte Overview of Marshaling in C++.

Consulte também

Conceitos

Language Features for Targeting the CLR

Outros recursos

Explicações passo a passo em 2010 do Visual C++