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 em 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 gerar 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.
Cuidado
Alguns caracteres não têm uma representação de melhor ajuste; esses caracteres são chamados de inaplicativos. Caracteres não aplicativos 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. Você usa o primeiro parâmetro para ativar e desativar o mapeamento de melhor ajuste. O valor padrão é true
, que permite 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 mais adequado 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 para 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.
Cuidado
Não é possível alterar os valores padrão fornecidos por 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
BestFitMappingAttribute(Boolean) |
Inicializa uma nova instância da classe BestFitMappingAttribute definida com o valor da propriedade BestFitMapping. |
Campos
ThrowOnUnmappableChar |
Habilita ou desabilita a geração de uma exceção em um caractere Unicode não mapeável que é convertido em um caractere "?" ANSI. |
Propriedades
BestFitMapping |
Obtém o comportamento de mapeamento de melhor ajuste ao converter caracteres Unicode em caracteres ANSI. |
TypeId |
Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute. (Herdado de Attribute) |
Métodos
Equals(Object) |
Retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute) |
GetHashCode() |
Retorna o código hash para a 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 Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Implantações explícitas de interface
_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 para um objeto, que pode ser usado para obter as informações de tipo para 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) |
Aplica-se a
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de