다음을 통해 공유


CharSet 열거형

정의

마샬링된 문자열이 사용할 문자 집합을 지정합니다.

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

문자열을 유니코드 2바이트 문자 문자열로 마샬링합니다.

예제

다음 코드 예제에서는 를 관리되는 정의에 CharSet 적용할 때 열거형 값을 지정하는 StructLayoutAttribute 방법을 보여줍니다.

[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

설명

관리되지 않는 문자열 형식이 여러 개 있고 관리되는 문자열 형식이 하나만 있으므로 문자 집합을 사용하여 관리되는 문자열을 관리되지 않는 코드로 마샬링하는 방법을 지정해야 합니다. 문자 집합 옵션을 제공하는 이 열거형은 및 StructLayoutAttribute에서 DllImportAttribute 사용됩니다. 이 열거형과 연결된 문자열 마샬링 및 이름 일치 동작에 대한 자세한 설명은 문자 집합 지정을 참조하세요.

적용 대상

추가 정보