Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Alguns tipos do Tempo de Execução do Windows recebem tratamento especial em C++/CX e nas linguagens baseadas no Common Language Runtime (CLR). Este artigo discute como vários tipos em um idioma são mapeados para outro idioma. Por exemplo, o CLR mapeia Windows.Foundation.IVector para System.Collections.IList, Windows.Foundation.IMap para System.Collections.IDictionary, e assim por diante. Da mesma forma, o C++/CX mapeia especialmente tipos como Platform::D elegate e Platform::String.
Mapeando o Tempo de Execução do Windows para C++/CX
Quando o C++/CX lê um arquivo de metadados do Windows (.winmd), o compilador mapeia automaticamente namespaces e tipos comuns do Tempo de Execução do Windows para namespaces e tipos C++/CX. Por exemplo, o tipo UInt32 numérico do Tempo de Execução do Windows é automaticamente mapeado para default::uint32.
C++/CX mapeia vários outros tipos do Tempo de Execução do Windows para o namespace Platform . Por exemplo, o identificador HSTRING Windows::Foundation , que representa uma cadeia de texto Unicode somente leitura, é mapeado para a classe C++/CX Platform::String . Quando uma operação do Tempo de Execução do Windows retorna um erro HRESULT, ela é mapeada para um C++/CX Platform::Exception.
O C++/CX também mapeia certos tipos em namespaces do Tempo de Execução do Windows para aprimorar a funcionalidade do tipo. Para esses tipos, C++/CX fornece construtores auxiliares e métodos que são específicos para C++ e não estão disponíveis no arquivo .winmd padrão do tipo.
As listas a seguir mostram estruturas de valor que oferecem suporte a novos construtores e métodos auxiliares. Se você tiver escrito anteriormente código que usa listas de inicialização struct, altere-o para usar os construtores recém-adicionados.
Windows::Fundação
Ponto
Rect
Tamanho
Windows::UI
- Cor
Windows::UI::Xaml
Raio de canto
Duração
GridLength
Espessura
Windows::UI::Xaml::Interoperabilidade
- NomeDoTipo
Windows::UI::Xaml::Media
- Matriz
Windows::UI::Xaml::Media::Animação
Tempo-chave
RepeatBehavior
Windows::UI::Xaml::Media::Media3D
- Matrix3D
Mapeando o CLR para C++/CX
Quando os compiladores do Microsoft C++ ou C# leem um arquivo .winmd, eles mapeiam automaticamente determinados tipos no arquivo de metadados para os tipos C++/CX ou CLR apropriados. Por exemplo, no CLR, a interface IVector<T> é mapeada para IList<T>. Mas em C++/CX, a interface IVector<T> não é mapeada para outro tipo.
IReference<T> no Tempo de Execução do Windows mapeia para Nullable<T> no .NET.