DllImportAttribute.CharSet Bidang
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menunjukkan cara marshal string parameter ke metode dan mengontrol nama mangling.
public: System::Runtime::InteropServices::CharSet CharSet;
public System.Runtime.InteropServices.CharSet CharSet;
val mutable CharSet : System.Runtime.InteropServices.CharSet
Public CharSet As CharSet
Nilai Bidang
Contoh
Contoh kode berikut menunjukkan cara menggunakan DllImportAttribute atribut untuk mengimpor fungsi Win32 MessageBox
. Contoh kode kemudian memanggil metode yang diimpor.
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
Keterangan
Gunakan bidang ini dengan anggota CharSet enumerasi untuk menentukan perilaku marshaling parameter string dan untuk menentukan nama titik entri mana yang akan dipanggil (nama yang tepat yang diberikan atau nama yang berakhiran dengan "A" atau "W"). Anggota enumerasi default untuk C# dan Visual Basic adalah CharSet.Ansi
dan anggota enumerasi default untuk C++ adalah CharSet.None
, yang setara dengan CharSet.Ansi
. Di Visual Basic, Anda menggunakan Declare
pernyataan untuk menentukan CharSet
bidang .
Bidang memengaruhi ExactSpelling perilaku CharSet
bidang dalam menentukan nama titik entri mana yang akan dipanggil. Untuk deskripsi terperinci dan contoh perilaku marshaling string dan pencocokan nama yang terkait dengan CharSet
bidang, lihat Menentukan Kumpulan Karakter.