CharSet 列挙体
マーシャリングされた文字列で使用する文字セットを指定します。
<Serializable>
Public Enum CharSet
[C#]
[Serializable]
public enum CharSet
[C++]
[Serializable]
__value public enum CharSet
[JScript]
public
Serializable
enum CharSet
解説
アンマネージ文字列の型はいくつかあり、マネージ文字列の型は 1 つしかありませんので、マネージ文字列をアンマネージ コードにマーシャリングするときは、文字セットを使用してその方法を指定する必要があります。この列挙体は、文字セット オプションを提供し、 DllImportAttribute および StructLayoutAttribute で使用されます。この列挙体に関連する文字列マーシャリングと名前一致の動作の詳細については、「 文字セットの指定 」を参照してください。
メンバ
メンバ名 | 説明 |
---|---|
Ansi | マルチバイト文字として文字列をマーシャリングします。 |
Auto
.NET Compact Framework でもサポート。 |
対象オペレーティング システムに適するように、自動的に文字列をマーシャリングします。Windows NT、Windows 2000、Windows XP、Windows Server 2003 ファミリの場合、既定値は Unicode です。Windows 98 および Windows Me の場合、既定値は Ansi です。 |
None | この値は今後使用しません。動作は CharSet.Ansi と同じです。 |
Unicode
.NET Compact Framework でもサポート。 |
Unicode 2 バイト文字として文字列をマーシャリングします。 |
使用例
[Visual Basic, C#] StructLayoutAttribute をマネージ定義に適用するときに CharSet 列挙体の値を指定する方法を次の例に示します。
< StructLayout( LayoutKind.Sequential, CharSet := CharSet.Ansi )> _
Public Structure MyPerson
Public first As String
Public last As String
End Structure 'MyPerson
[C#]
[ StructLayout( LayoutKind.Sequential, CharSet=CharSet.Ansi )]
public struct MyPerson
{
public String first;
public String last;
}
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Runtime.InteropServices
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
アセンブリ: Mscorlib (Mscorlib.dll 内)
参照
System.Runtime.InteropServices 名前空間 | DllImportAttribute | StructLayoutAttribute