CharSet 列挙型
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
マーシャリングされる文字列に使用する文字セットを指定します。
public enum class CharSet
public enum CharSet
[System.Serializable]
public enum CharSet
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum CharSet
type CharSet =
[<System.Serializable>]
type CharSet =
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type CharSet =
Public Enum CharSet
- 継承
- 属性
フィールド
Ansi | 2 | 文字列をマルチバイト文字としてマーシャリングします。Windows システムの既定は Windows (ANSI) コード ページで Unix 既定は UTF-8 です。 |
Auto | 4 | 対象オペレーティング システムに適するように、自動的に文字列をマーシャリングします。 詳細については、文字セットとマーシャリングに関するページを参照してください。 共通言語ランタイムの既定値は Auto ですが、言語によってこの既定値がオーバーライドされることがあります。 たとえば、C# および Visual Basic の既定では、すべてのメソッドと型が Ansi としてマークされます。 |
None | 1 | この値は今後使用しません。動作は Ansi と同じです。 |
Unicode | 3 | 文字列を Unicode 2 バイト文字の文字列としてマーシャリングします。 |
例
次のコード例は、 をマネージド定義に適用するときに列挙値をStructLayoutAttribute指定CharSetする方法を示しています。
[StructLayout(LayoutKind::Sequential, CharSet=CharSet::Ansi)]
public ref struct MyPerson
{
public:
String^ first;
String^ last;
};
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Ansi)]
public struct MyPerson
{
public String first;
public String last;
}
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Ansi)> _
Public Structure MyPerson
Public first As String
Public last As String
End Structure
注釈
アンマネージド文字列型は複数あり、マネージド文字列型は 1 つだけであるため、マネージド文字列をアンマネージド コードにマーシャリングする方法を指定するには、文字セットを使用する必要があります。 文字セット オプションを提供するこの列挙体は、 と StructLayoutAttributeでDllImportAttribute使用されます。 この列挙に関連付けられている文字列マーシャリングと名前の一致動作の詳細については、「 文字セットの指定」を参照してください。
適用対象
こちらもご覧ください
.NET