BestFitMappingAttribute クラス
アセンブリ: mscorlib (mscorlib.dll 内)

<AttributeUsageAttribute(AttributeTargets.Assembly Or AttributeTargets.Class Or AttributeTargets.Struct Or AttributeTargets.Interface, Inherited:=False)> _ <ComVisibleAttribute(True)> _ Public NotInheritable Class BestFitMappingAttribute Inherits Attribute
[AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Interface, Inherited=false)] [ComVisibleAttribute(true)] public sealed class BestFitMappingAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Assembly|AttributeTargets::Class|AttributeTargets::Struct|AttributeTargets::Interface, Inherited=false)] [ComVisibleAttribute(true)] public ref class BestFitMappingAttribute sealed : public Attribute

この属性は、アセンブリ、インターフェイス、クラス、または構造体に適用できます。
Windows 98 または Windows Me で実行するアンマネージ メソッドにマネージ Unicode 文字が渡された場合、既定では、このような Unicode 文字は共通言語ランタイムによって ANSI 文字に変換されます。最適マッピングを使用すると、完全一致が存在しないときに、相互運用マーシャリングが最も近い文字を選択します。たとえば、マーシャラは、ANSI 文字を許可するアンマネージ メソッドの場合、Unicode の著作権記号を 'c' に変換します。
![]() |
---|
一部の文字には最適形式が存在しません。このような文字はマップできない文字といいます。マップできない文字は原則として、既定の '?'ANSI 文字に変換されます。特定の Unicode 文字は、意図せずパスを変更するおそれがある円記号 "\" など、危険な文字に変換されます。 |
BestFitMappingAttribute には、最適マッピングの動作を制御するためのパラメータが 2 つ用意されています。1 番目のパラメータは、最適マッピングのオン/オフを切り替えるために使用します。既定値は true です。この場合、アセンブリ レベル、インターフェイス レベル、クラス レベルで最適マッピングが有効になります。属性がインターフェイスまたはクラスに適用された場合、アセンブリ レベルの属性はオーバーライドされます。同様に、DllImportAttribute.BestFitMapping フィールドを使用することによって、プラットフォーム呼び出しの最適マッピングのオン/オフを切り替えることもできます。プラットフォーム呼び出しのフィールドで値を設定すると、すべてのレベルの BestFitMappingAttribute がオーバーライドされます。
2 番目のパラメータでは、マップできない文字があったときに例外をスローするかどうかを制御します。ThrowOnUnmappableChar フィールドの既定値は false です。この場合、共通言語ランタイムが '?' ANSI 文字に変換される Unicode 文字に遭遇するたびに例外がスローされることはありません。最適マッピングが true の場合でも、ThrowOnUnmappableChar フィールドが true の場合は、マップできない文字が見つかったときに例外が生成されます。セキュリティを高めるには、1 番目のパラメータを false に設定し、2 番目のパラメータを true に設定します。このパラメータの組み合わせでは、最適マッピングがオフになりますが、安全対策として例外がスローされるようになります。

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

System.Attribute
System.Runtime.InteropServices.BestFitMappingAttribute


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


BestFitMappingAttribute コンストラクタ
アセンブリ: mscorlib (mscorlib.dll 内)


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


BestFitMappingAttribute フィールド
BestFitMappingAttribute プロパティ

名前 | 説明 | |
---|---|---|
![]() | BestFitMapping | Unicode 文字を ANSI 文字に変換するときの、最適マッピングの動作を取得します。 |
![]() | TypeId | 派生クラスに実装されている場合は、この Attribute の一意の識別子を取得します。 ( Attribute から継承されます。) |

BestFitMappingAttribute メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 ( Attribute から継承されます。) |
![]() | GetCustomAttribute | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用された指定した型のカスタム属性を取得します。 ( Attribute から継承されます。) |
![]() | GetCustomAttributes | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されたカスタム属性の配列を取得します。 ( Attribute から継承されます。) |
![]() | GetHashCode | このインスタンスのハッシュ コードを返します。 ( Attribute から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | IsDefaultAttribute | 派生クラス内でオーバーライドされたときに、このインスタンスの値が派生クラスの既定値かどうかを示します。 ( Attribute から継承されます。) |
![]() | IsDefined | オーバーロードされます。 指定した型のカスタム属性が、アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されているかどうかを判断します。 ( Attribute から継承されます。) |
![]() | Match | 派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 ( Attribute から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

BestFitMappingAttribute メンバ
Unicode 文字を最も近い ANSI 文字に変換するかどうかを制御します。
BestFitMappingAttribute データ型で公開されるメンバを以下の表に示します。

名前 | 説明 | |
---|---|---|
![]() | BestFitMappingAttribute | BestFitMapping プロパティの値を設定して、BestFitMappingAttribute クラスの新しいインスタンスを初期化します。 |


名前 | 説明 | |
---|---|---|
![]() | BestFitMapping | Unicode 文字を ANSI 文字に変換するときの、最適マッピングの動作を取得します。 |
![]() | TypeId | 派生クラスに実装されている場合は、この Attribute の一意の識別子を取得します。(Attribute から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 ( Attribute から継承されます。) |
![]() | GetCustomAttribute | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用された指定した型のカスタム属性を取得します。 (Attribute から継承されます。) |
![]() | GetCustomAttributes | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されたカスタム属性の配列を取得します。 (Attribute から継承されます。) |
![]() | GetHashCode | このインスタンスのハッシュ コードを返します。 (Attribute から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | IsDefaultAttribute | 派生クラス内でオーバーライドされたときに、このインスタンスの値が派生クラスの既定値かどうかを示します。 (Attribute から継承されます。) |
![]() | IsDefined | オーバーロードされます。 指定した型のカスタム属性が、アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されているかどうかを判断します。 (Attribute から継承されます。) |
![]() | Match | 派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 (Attribute から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

- BestFitMappingAttributeのページへのリンク