次の方法で共有


BestFitMappingAttribute クラス

定義

Unicode 文字を、その文字に一番近い ANSI 文字に変換するかどうかを制御します。

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
継承
BestFitMappingAttribute
属性

次の例では、最適なマッピングを無効にし、Unicode 文字を '?' に変換する際に例外をスローする方法を示します。ANSI 文字。 この方法でパラメーターを設定 BestFitMappingAttribute すると、セキュリティの手段が追加されます。

[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

注釈

この属性は、アセンブリ、インターフェイス、クラス、または構造体に適用できます。

注意事項

一部の文字には最適な表現がありません。これらの文字は適用不可と呼ばれます。 通常、マップできない文字は既定の '?' に変換されます。ANSI 文字。 特定の Unicode 文字は、バックスラッシュ '\' 文字などの危険な文字に変換され、パスが誤って変更される可能性があります。

BestFitMappingAttribute には、最適なマッピングの側面を制御するための 2 つのパラメーターが用意されています。 最初のパラメーターを使用して、最適なマッピングのオンとオフを切り替えます。 既定値は です true。これにより、アセンブリ、インターフェイス、およびクラス レベルで最適なマッピングが可能になります。 インターフェイスまたはクラスに適用された属性は、アセンブリ レベルの属性をオーバーライドします。 同様に、 フィールドを使用して、プラットフォーム呼び出しの最適なマッピングを DllImportAttribute.BestFitMapping 有効または無効にすることができます。 プラットフォーム呼び出しフィールドによって設定された値は、 のすべてのレベル BestFitMappingAttributeをオーバーライドします。

2 番目のパラメーターを使用して、マップできない文字に対する例外のスローを制御できます。 フィールドの ThrowOnUnmappableChar 既定値は です。これは、 falseランタイムが '?' に変換する必要がある Unicode 文字を検出するたびに例外をスローすることを無効にします。ANSI 文字。 最適なマッピングが の場合でも、 フィールドが trueの場合は、マップできない文字によって例外がThrowOnUnmappableChartrue生成されます。 セキュリティを強化するために、最初のパラメーターを に false 、2 番目のパラメーターを に true切り替えることができます。 このパラメーター設定の組み合わせは、最適なマッピングをオフにしますが、安全上の予防措置として例外スローメカニズムを有効にします。

注意事項

ANSI Chars または LPSTR の要素を持つマネージド配列をアンマネージド セーフ配列に渡す場合、によって BestFitMappingAttribute 提供される既定値を変更することはできません。 最適なマッピングは常に有効になっており、例外をスローすることはできません。 この組み合わせによってセキュリティ モデルが侵害される可能性があることに注意してください。

コンストラクター

BestFitMappingAttribute(Boolean)

BestFitMappingAttribute プロパティの値を設定して、BestFitMapping クラスの新しいインスタンスを初期化します。

フィールド

ThrowOnUnmappableChar

マップできない Unicode 文字 (ANSI の "?" に変換される文字) が見つかったときに、例外をスローするかどうかを指定します。

プロパティ

BestFitMapping

Unicode 文字を ANSI 文字に変換するときの、最適マッピングの動作を取得します。

TypeId

派生クラスで実装されると、この Attribute の一意の識別子を取得します。

(継承元 Attribute)

メソッド

Equals(Object)

このインスタンスが、指定されたオブジェクトと等価であるかどうかを示す値を返します。

(継承元 Attribute)
GetHashCode()

このインスタンスのハッシュ コードを返します。

(継承元 Attribute)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
IsDefaultAttribute()

派生クラスでオーバーライドされるとき、このインスタンスの値が派生クラスの既定値であるかどうかを示します。

(継承元 Attribute)
Match(Object)

派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。

(継承元 Attribute)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

明示的なインターフェイスの実装

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

一連の名前を対応する一連のディスパッチ識別子に割り当てます。

(継承元 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

オブジェクトの型情報を取得します。この情報はインターフェイスの型情報の取得に使用できます。

(継承元 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。

(継承元 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。

(継承元 Attribute)

適用対象

こちらもご覧ください