DllImportAttribute.CharSet Поле

Определение

Показывает способ маршалинга параметров строки для метода, а также управляет искажением имени.

public: System::Runtime::InteropServices::CharSet CharSet;
public System.Runtime.InteropServices.CharSet CharSet;
val mutable CharSet : System.Runtime.InteropServices.CharSet
Public CharSet As CharSet 

Значение поля

CharSet

Примеры

В следующем примере кода показано, как использовать DllImportAttribute атрибут для импорта MessageBox функции Win32. Затем в примере кода вызывается импортированный метод.

using System;
using System.Runtime.InteropServices;

class Example
{
    // Use DllImport to import the Win32 MessageBox function.
    [DllImport("user32.dll", CharSet = CharSet.Unicode)]
    public static extern int MessageBox(IntPtr hWnd, String text, String caption, uint type);
    
    static void Main()
    {
        // Call the MessageBox function using platform invoke.
        MessageBox(new IntPtr(0), "Hello World!", "Hello Dialog", 0);
    }
}
Imports System.Runtime.InteropServices

Module Example

    ' Use DllImport to import the Win32 MessageBox function.
    <DllImport("user32.dll", CharSet:=CharSet.Unicode)> _
    Function MessageBox(ByVal hwnd As IntPtr, ByVal t As String, ByVal caption As String, ByVal t2 As UInt32) As Integer
    End Function


    Sub Main()
        ' Call the MessageBox function using platform invoke.
        MessageBox(New IntPtr(0), "Hello World!", "Hello Dialog", 0)
    End Sub

End Module

Комментарии

Используйте это поле с членом CharSet перечисления, чтобы указать поведение маршалинга строковых параметров и указать, какое имя точки входа следует вызывать (точное имя с заданным именем или имя, которое заканчивается на "a" или "W"). член перечисления по умолчанию для C# и Visual Basic имеет значение CharSet.Ansi , а элемент перечисления по умолчанию для C++ — CharSet.None , что эквивалентно CharSet.Ansi . в Visual Basic Declare для указания поля используется инструкция CharSet .

ExactSpellingПоле влияет на поведение CharSet поля при определении того, какое имя точки входа следует вызывать. Подробное описание и примеры маршалинга строк и поведения сопоставления имен, связанных с CharSet полем, см. в разделе Указаниекодировки.

Применяется к

См. также раздел