Tipos blittable (que permitem transferência de bits) do .NET Compact Framework
Um tipo é considerado blittable (que permite transferência de bits) se ele tem uma representação comum na memória gerenciada e na memória não gerenciada, não sendo necessário nenhum tratamento especial pelo empacotador para converter para código não gerenciado ou código gerenciado.
Tipos blittable em ambas Frameworks
Os seguintes tipos, definidos no System namespace, são tipos blittable no .NET estrutura completo e o .NET Compact estrutura:
Os seguintes tipos complexos são também blittable:
Matrizes unidimensionais de tipos blittable.
Tipos de valores formatados que contêm somente tipos blittable.Como todas as estruturas e classes sempre tem layout sequencial no .NET Compact Framework, o tipo de valor gerenciado tem o mesmo layout na memória que a da estrutura não gerenciada.
Tipos blittable somente no .NET Compact Framework
O .NET Compact Framework fornece os seguintes tipos blittable devido a sua implementação no Common Language Runtime:
-
Este é um valor inteiro de 1 byte.Do .NET estrutura completo, o padrão de marshaling para um Boolean corresponde do MarshalAsAttribute(UnmanagedType.Bool) atributo, que usa um valor inteiro de 4 byte.
-
Este sempre é um caractere Unicode (2 bytes), enquanto o .NET estrutura completo pode tratar isso sistema autônomo um caractere Unicode ou um caractere ANSI dependendo do MarshalAsAttribute atributo ou a DllImportAttribute.CharSet campo.
-
Este sempre é tratado sistema autônomo uma matriz Unicode, enquanto o .NET estrutura pode tratar isso sistema autônomo uma matriz Unicode ou ANSI ou um BSTR dependendo o MarshalAsAttribute atributo ou a DllImportAttribute.CharSet campo.