CharSet Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Stabilisce quali stringhe sottoposte a marshalling del set di caratteri devono essere usate.
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
- Ereditarietà
- Attributi
Campi
Ansi | 2 | Effettua il marshalling di stringhe come stringhe di caratteri a più byte: la tabella codici Windows (ANSI) predefinita di sistema in Windows e UTF-8 in UNIX. |
Auto | 4 | Esegue automaticamente il marshalling delle stringhe in modo appropriato per il sistema operativo di destinazione. Per informazioni dettagliate, vedere Set di caratteri e marshalling. Sebbene il valore predefinito per Common Language Runtime sia Auto, è possibile che i linguaggi eseguano l'override di questo valore predefinito. Ad esempio, per impostazione predefinita C# e Visual Basic contrassegnano tutti i metodi e tipi come Ansi. |
None | 1 | Questo valore è obsoleto e si comporta come Ansi. |
Unicode | 3 | Esegue il marshalling delle stringhe come stringhe di caratteri Unicode a 2 byte. |
Esempio
Nell'esempio di codice seguente viene illustrato come specificare un CharSet valore di enumerazione quando si applica StructLayoutAttribute a una definizione gestita.
[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
Commenti
Poiché esistono diversi tipi di stringa non gestiti e un solo tipo di stringa gestita, è necessario usare un set di caratteri per specificare la modalità di marshalling delle stringhe gestite al codice non gestito. Questa enumerazione, che fornisce le opzioni del set di caratteri, viene utilizzata da DllImportAttribute e StructLayoutAttribute. Per una descrizione dettagliata del comportamento di marshalling delle stringhe e della corrispondenza dei nomi associati a questa enumerazione, vedere Specifica di un set di caratteri.