DllImportAttribute.BestFitMapping Поле

Определение

Включает или отключает поведение наилучшего сопоставления при преобразовании знаков Юникода в знаки ANSI.

public: bool BestFitMapping;
public bool BestFitMapping;
val mutable BestFitMapping : bool
Public BestFitMapping As Boolean 

Значение поля

Boolean

Примеры

в некоторых случаях Visual Basic разработчики используют DllImportAttribute вместо Declare инструкции, чтобы определить функцию DLL в управляемом коде. Установка BestFitMapping поля является одним из этих вариантов. В следующем примере показано, как применить стандартную защиту сопоставления символов к определениям метода вызова неуправляемого кода, указав кодировку ANSI, отключив наилучшее поведение сопоставления и вызывая исключение для несопоставленных символов Юникода.

[DllImport("My.dll", CharSet = CharSet::Ansi,
    BestFitMapping = false,
    ThrowOnUnmappableChar = true)]
int SomeFuncion2(int parm);
[DllImport("My.dll", CharSet = CharSet.Ansi,
    BestFitMapping = false,
    ThrowOnUnmappableChar = true)]
internal static extern int SomeFuncion2(int parm);
<DllImport("My.dll", CharSet:=CharSet.Ansi,
    BestFitMapping:=False,
    ThrowOnUnmappableChar:=True)>
Friend Shared Function SomeFuncion2(parm As Integer) As Integer
End Function

Комментарии

trueЗначение, если сопоставление наилучшего соответствия включено; в противном случае сопоставление наилучшего соответствия отключено. По BestFitMapping true умолчанию это поле. Параметры для этого поля переопределяют параметры любого уровня для System.Runtime.InteropServices.BestFitMappingAttribute атрибута.

Внимание!

Некоторые символы Юникода преобразуются в небезопасные символы, например символ обратной косой черты " \ ", который может случайно изменить путь. Установив ThrowOnUnmappableChar для поля значение true , можно передать вызывающему объекту сигнал о присутствии несопоставимого символа, вызывая исключение.

Внимание!

Нельзя изменить значения по умолчанию, предоставляемые BestFitMapping ThrowOnUnmappableChar полями и при передаче управляемого массива, элементы которого являются символами ANSI или лпстрс, в неуправляемый безэлементный массив. Наилучшее сопоставление всегда включено, и исключение не создается. Имейте в виду, что это сочетание может нарушить вашу модель безопасности.

Применяется к

См. также раздел