Compartilhar via


Encaminhamento de tipos (C++/CLI)

Digite o encaminhamento de permite que você mova um tipo de um assembly (assembly A) em outro assembly (assembly B), de modo que não é necessário recompilar os clientes que consomem o assembly a.

Todas as plataformas

Este recurso não é suportado em todos os tempos de execução.

Tempo de execução do Windows

Este recurso não é suportado no Tempo de Execução do Windows.

ms177220.collapse_all(pt-br,VS.110).gifRequisitos

Opção de compilador:/ZW

Common Language Runtime

O exemplo de código a seguir demonstra como usar o tipo de encaminhamento.

ms177220.collapse_all(pt-br,VS.110).gifSintaxe

#using "new.dll"
[assembly:TypeForwardedTo(type::typeid)];

ms177220.collapse_all(pt-br,VS.110).gifParâmetros

  • new
    O assembly no qual você está movendo a definição de tipo.

  • type
    O tipo cuja definição você está movendo em outro assembly.

ms177220.collapse_all(pt-br,VS.110).gifComentários

Depois de um componente (assembly) é fornecido e é usado por aplicativos cliente, você pode usar o tipo de encaminhamento para mover um tipo de componente (assembly) em outro assembly, remeter componente atualizado (e qualquer assemblies adicionais necessários) e os aplicativos cliente ainda funcionará sem ser recompilado.

Tipo de encaminhamento só funciona para componentes referenciados por aplicativos existentes.Quando você recriar um aplicativo, deve haver referências assembly apropriado para todos os tipos usados no aplicativo.

Ao encaminhar um tipo (tipo A) de um assembly, você deve adicionar o TypeForwardedTo atributo de tipo, bem como uma referência de assembly.O assembly que você referência deve conter o seguinte:

  • A definição para digite a.

  • A TypeForwardedTo atributo para um tipo, bem como uma referência de assembly.

Exemplos de tipos que podem ser encaminhados:

  • classes de ref

  • classes de valor

  • enums

  • interfaces

Não é possível encaminhar os seguintes tipos:

  • Tipos genéricos

  • Tipos nativos

  • Aninhados tipos (se você deseja encaminhar um tipo aninhado, você deve encaminhar o tipo de delimitador)

Você pode encaminhar um tipo para um assembly criado no common language runtime de direcionamento de qualquer idioma.

Portanto, se um arquivo de código-fonte é usado para criar a DLL do assembly contém uma definição de tipo (ref class MyClass), e você quiser mover esse tipo de definição do assembly b. dll, seria:

  1. Mover o MyClass digite a definição de um arquivo de código de origem usado para criar b. dll.

  2. Criar assembly b. dll

  3. Excluir o MyClass digite a definição do código fonte usado para criar a dll e substituí-lo com o seguinte:

    #using "B.dll"
    [assembly:TypeForwardedTo(MyClass::typeid)];
    
  4. Crie assembly dll.

  5. Use a DLL sem recompilar aplicativos cliente.

ms177220.collapse_all(pt-br,VS.110).gifRequisitos

Opção de compilador:/clr