Бөлісу құралы:


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 

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

Примеры

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

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 для указания CharSet поля используется Declare оператор .

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

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

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