BestFitMappingAttribute 클래스

정의

유니코드 문자가 가장 일치하는 ANSI 문자로 변환되는지 여부를 제어합니다.Controls whether Unicode characters are converted to the closest matching ANSI characters.

public ref class BestFitMappingAttribute sealed : Attribute
[System.Runtime.InteropServices.ComVisible(true)]
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Interface | System.AttributeTargets.Struct, Inherited=false)]
public sealed class BestFitMappingAttribute : Attribute
type BestFitMappingAttribute = class
    inherit Attribute
Public NotInheritable Class BestFitMappingAttribute
Inherits Attribute
상속
BestFitMappingAttribute
특성

예제

다음 예제에서는 최선의 맞춤 매핑을 사용 하지 않도록 설정 하 고 유니코드 문자를 '? '로 변환 하는 경우 예외를 throw 하는 방법을 보여 줍니다. ANSI 문자.The following example shows how to disable best fit mapping and to throw an exception on the conversion of Unicode characters to the '?' ANSI character. 이러한 방식으로 BestFitMappingAttribute 매개 변수를 설정 하면 추가 보안 측정값이 제공 됩니다.Setting BestFitMappingAttribute parameters in this manner provides an added measure of security.

[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

설명

어셈블리, 인터페이스, 클래스 또는 구조에이 특성을 적용할 수 있습니다.You can apply this attribute to an assembly, interface, class, or structure.

기본적으로 공용 언어 런타임을 모든 Windows 98 또는 Windows 내에서 실행 중인 관리 되지 않는 메서드를 전달 하는 유니코드 문자를 관리 하는 ANSI 문자로 변환By default, the common language runtime converts to ANSI characters any managed Unicode characters passed to an unmanaged method executing on Windows 98 or Windows Me. 최적된 매핑을 사용 하면 interop 마샬러가 존재 하는 정확히 일치 하는 경우 닫기 일치 하는 문자를 선택 합니다.Best-fit mapping enables the interop marshaler to select a close-matching character when no exact match exists. 예를 들어 마샬러를 'c' ANSI 문자를 허용 하는 관리 되지 않는 메서드에 대 한 저작권 유니코드 문자를 변환 합니다.For example, the marshaler converts the Unicode copyright character to 'c' for unmanaged methods that accept ANSI characters.

주의

문자가 없는 가장 적합된 한 표현입니다. 이러한 문자를 매핑할 수 없는 호출 됩니다.Some characters lack a best-fit representation; these characters are called unmappable. 일반적으로 매핑할 수 없는 문자는 기본 '? '로 변환 됩니다. ANSI 문자.Unmappable characters are usually converted to the default '?' ANSI character. 특정 유니코드 문자는 백슬래시 '\' 문자와 같이 실수로 경로를 변경할 수 있는 위험한 문자로 변환 됩니다.Certain Unicode characters are converted to dangerous characters, such as the backslash '\' character, which can inadvertently change a path.

BestFitMappingAttribute은 최적 매핑의 측면을 제어 하는 두 개의 매개 변수를 제공 합니다.BestFitMappingAttribute provides two parameters to control aspects of best-fit mapping. 첫 번째 매개 변수를 사용 하 여 최적된 문자 매핑을 설정 및 해제를 설정/해제 합니다.You use the first parameter to toggle best-fit mapping on and off. 기본값은 true이며, 어셈블리, 인터페이스 및 클래스 수준에 대 한 최적 매핑을 가능 하 게 합니다.The default value is true, which enables best-fit mapping on the assembly, interface, and class levels. 인터페이스 또는 클래스에 적용 된 특성을 어셈블리 수준 특성을 재정의 합니다.An attribute applied to an interface or class overrides an assembly-level attribute. 마찬가지로 DllImportAttribute.BestFitMapping 필드를 사용 하 여 플랫폼 호출에 대해 최적 매핑을 사용 하거나 사용 하지 않도록 설정할 수 있습니다.You can likewise enable or disable best-fit mapping for platform invoke calls by using the DllImportAttribute.BestFitMapping field. 플랫폼 호출 필드에 의해 설정 된 값은 모든 수준의 BestFitMappingAttribute을 재정의 합니다.A value set by the platform invoke field overrides all levels of BestFitMappingAttribute.

매핑할 수 없는 문자에 예외를 throw 하는 컨트롤에 두 번째 매개 변수를 사용할 수 있습니다.You can use the second parameter to control throwing an exception on unmappable characters. ThrowOnUnmappableChar 필드의 기본값은 false입니다 .이 값은 런타임에서 '? '로 변환 되어야 하는 유니코드 문자를 발견할 때마다 예외를 throw 하지 않도록 합니다. ANSI 문자.The default value for the ThrowOnUnmappableChar field is false, which disables throwing an exception each time the runtime encounters a Unicode character that has to be converted to the '?' ANSI character. 최적 매핑이 true경우에도 ThrowOnUnmappableChar 필드가 true되 면 매핑할 수 없는 문자는 예외를 생성 합니다.Even if best-fit mapping is true, unmappable characters generate an exception when the ThrowOnUnmappableChar field is true. 보안을 강화 하기 위해 첫 번째 매개 변수를 false로 전환 하 고 두 번째 매개 변수를 true로 전환할 수 있습니다.To tighten security, you can toggle the first parameter to false and the second parameter to true. 이 매개 변수 설정이 조합이 최적된 문자 매핑을 해제를 설정 하지만 안전 조치로 예외를 발생 시키는 메커니즘을 사용 하도록 설정 합니다.This combination of parameter settings turns best-fit mapping off, but enables the exception-throwing mechanism as a safety precaution.

주의

요소가 ANSI 문자 또는 LPSTRs 인 관리 되는 배열을 관리 되지 않는 안전 배열에 전달할 때 BestFitMappingAttribute에서 제공 하는 기본값을 변경할 수 없습니다.You cannot change the default values provided by BestFitMappingAttribute when passing a managed array whose elements are ANSI Chars or LPSTRs to an unmanaged safe array. 최적된 매핑을 항상 사용 하도록 설정 하 고 예외가 throw 될 수 있습니다.Best-fit mapping is always enabled and no exception can be thrown. 이 조합은 보안 모델을 손상 시킬 수는 알아야 합니다.Be aware that this combination can compromise your security model.

생성자

BestFitMappingAttribute(Boolean)

BestFitMappingAttribute 속성 값으로 설정된 BestFitMapping 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the BestFitMappingAttribute class set to the value of the BestFitMapping property.

필드

ThrowOnUnmappableChar

ANSI "?" 문자로 변환되는 매핑할 수 없는 유니코드 문자가 나오면 예외를 throw하거나 throw하지 않습니다.Enables or disables the throwing of an exception on an unmappable Unicode character that is converted to an ANSI '?' character.

속성

BestFitMapping

유니코드 문자를 ANSI 문자로 변환할 때 가장 적합한 매핑 동작을 가져옵니다.Gets the best-fit mapping behavior when converting Unicode characters to ANSI characters.

TypeId

파생 클래스에서 구현될 때 이 Attribute의 고유 식별자를 가져옵니다.When implemented in a derived class, gets a unique identifier for this Attribute.

(다음에서 상속됨 Attribute)

메서드

Equals(Object)

이 인스턴스가 지정된 개체와 같은지를 나타내는 값을 반환합니다.Returns a value that indicates whether this instance is equal to a specified object.

(다음에서 상속됨 Attribute)
GetHashCode()

이 인스턴스의 해시 코드를 반환합니다.Returns the hash code for this instance.

(다음에서 상속됨 Attribute)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
IsDefaultAttribute()

파생 클래스에서 재정의된 경우 이 인스턴스 값이 파생 클래스에 대한 기본값인지 여부를 표시합니다.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(다음에서 상속됨 Attribute)
Match(Object)

파생된 클래스에서 재정의할 경우,이 인스턴스가 지정된 된 개체와 같은지 여부를 나타내는 값을 반환 합니다.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(다음에서 상속됨 Attribute)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 string을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

이름 집합을 해당하는 디스패치 식별자 집합에 매핑합니다.Maps a set of names to a corresponding set of dispatch identifiers.

(다음에서 상속됨 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

인터페이스의 형식 정보를 가져오는 데 사용할 수 있는 개체의 형식 정보를 검색합니다.Retrieves the type information for an object, which can be used to get the type information for an interface.

(다음에서 상속됨 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

개체에서 제공하는 형식 정보 인터페이스의 수를 검색합니다(0 또는 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(다음에서 상속됨 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

개체에서 노출하는 메서드와 속성에 대한 액세스를 제공합니다.Provides access to properties and methods exposed by an object.

(다음에서 상속됨 Attribute)

적용 대상

추가 정보