BestFitMappingAttribute Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Controla se os caracteres Unicode são convertidos nos caracteres ANSI correspondentes mais próximos.
public ref class BestFitMappingAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Interface | System.AttributeTargets.Struct, Inherited=false)]
public sealed class BestFitMappingAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Interface | System.AttributeTargets.Struct, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class BestFitMappingAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Interface | System.AttributeTargets.Struct, Inherited=false)>]
type BestFitMappingAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Interface | System.AttributeTargets.Struct, Inherited=false)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type BestFitMappingAttribute = class
inherit Attribute
Public NotInheritable Class BestFitMappingAttribute
Inherits Attribute
- Herança
- Atributos
Exemplos
O exemplo a seguir mostra como desabilitar o melhor mapeamento de ajuste e lançar uma exceção na conversão de caracteres Unicode para o '?' Caractere ANSI. Definir BestFitMappingAttribute parâmetros dessa maneira fornece uma medida adicional de segurança.
[BestFitMapping(false, ThrowOnUnmappableChar = true)]
interface class IMyInterface1
{
//Insert code here.
};
[BestFitMapping(false, ThrowOnUnmappableChar = true)]
interface IMyInterface1
{
//Insert code here.
}
<BestFitMapping(False, ThrowOnUnmappableChar := True)> _
Interface IMyInterface1
'Insert code here.
End Interface
Comentários
Você pode aplicar esse atributo a um assembly, interface, classe ou estrutura.
Caution
Alguns caracteres não têm uma representação de melhor ajuste; esses caracteres são chamados de inaplicativos. Caracteres inaplicativos geralmente são convertidos no padrão '?' Caractere ANSI. Determinados caracteres Unicode são convertidos em caracteres perigosos, como o caractere '\' de barra invertida, que pode alterar inadvertidamente um caminho.
BestFitMappingAttribute fornece dois parâmetros para controlar aspectos do mapeamento de melhor ajuste. Use o primeiro parâmetro para ativar e desativar o mapeamento de melhor ajuste. O valor padrão é true, que habilita o mapeamento de melhor ajuste nos níveis de assembly, interface e classe. Um atributo aplicado a uma interface ou classe substitui um atributo no nível do assembly. Da mesma forma, você pode habilitar ou desabilitar o mapeamento de melhor ajuste para chamadas de invocação de plataforma usando o DllImportAttribute.BestFitMapping campo. Um valor definido pelo campo de invocação de plataforma substitui todos os níveis de BestFitMappingAttribute.
Você pode usar o segundo parâmetro para controlar a geração de uma exceção em caracteres inaplicativos. O valor padrão para o ThrowOnUnmappableChar campo é false, que desabilita a geração de uma exceção sempre que o runtime encontra um caractere Unicode que precisa ser convertido em '?' Caractere ANSI. Mesmo que o mapeamento de melhor ajuste seja true, caracteres inaplicativos geram uma exceção quando o ThrowOnUnmappableChar campo é true. Para reforçar a segurança, você pode alternar o primeiro parâmetro false e o segundo parâmetro para true. Essa combinação de configurações de parâmetro desativa o mapeamento de melhor ajuste, mas habilita o mecanismo de lançamento de exceções como uma precaução de segurança.
Caution
Você não pode alterar os valores padrão fornecidos BestFitMappingAttribute ao passar uma matriz gerenciada cujos elementos são ANSI Chars ou LPSTRs para uma matriz segura não gerenciada. O mapeamento de melhor ajuste está sempre habilitado e nenhuma exceção pode ser gerada. Lembre-se de que essa combinação pode comprometer seu modelo de segurança.
Construtores
| Nome | Description |
|---|---|
| BestFitMappingAttribute(Boolean) |
Inicializa uma nova instância da BestFitMappingAttribute classe definida como o valor da BestFitMapping propriedade. |
Campos
| Nome | Description |
|---|---|
| ThrowOnUnmappableChar |
Habilita ou desabilita o lançamento de uma exceção em um caractere Unicode inaplicaível que é convertido em um caractere ANSI '?'. |
Propriedades
| Nome | Description |
|---|---|
| BestFitMapping |
Obtém o melhor comportamento de mapeamento ao converter caracteres Unicode em caracteres ANSI. |
| TypeId |
Quando implementado em uma classe derivada, obtém um identificador exclusivo para esse Attribute. (Herdado de Attribute) |
Métodos
| Nome | Description |
|---|---|
| Equals(Object) |
Retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute) |
| GetHashCode() |
Devolve o código hash para esta instância. (Herdado de Attribute) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| IsDefaultAttribute() |
Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada. (Herdado de Attribute) |
| Match(Object) |
Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição. (Herdado de Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera as informações de tipo de um objeto, que podem ser usadas para obter as informações de tipo de uma interface. (Herdado de Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1). (Herdado de Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornece acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute) |