DllImportAttribute(String) 构造函数

定义

使用包含要导入的方法的 DLL 的名称初始化 DllImportAttribute 类的新实例。

public:
 DllImportAttribute(System::String ^ dllName);
public DllImportAttribute (string dllName);
new System.Runtime.InteropServices.DllImportAttribute : string -> System.Runtime.InteropServices.DllImportAttribute
Public Sub New (dllName As String)

参数

dllName
String

包含非托管方法的 DLL 的名称。 在 .NET Framework 中,如果 DLL 包含在程序集中,则可以包含程序集显示名称。

示例

下面的代码示例演示如何使用 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

注解

仅限 .NET Framework: 如果程序集中包含非托管 DLL 文件(例如,通过使用链接器或 /linkresource 编译器选项),则可以将程序集显示名称指定为 的一 dllName部分。 例如,如果名为 unmanaged.dll 的非托管 DLL 包含在名为 的 MyAssembly托管程序集中,则可以指定属性,如以下代码所示。

[DllImport("unmanaged.dll, MyAssembly, Version= 1.0.0.0,"
    "Culture=neutral, PublicKeyToken=a77e0ba5eab10125")]
int SomeFuncion1(int parm);
[DllImport("unmanaged.dll, MyAssembly, Version= 1.0.0.0," +
    "Culture=neutral, PublicKeyToken=a77e0ba5eab10125")]
internal static extern int SomeFuncion1(int parm);
<DllImport("unmanaged.dll, MyAssembly, Version= 1.0.0.0," +
    "Culture=neutral, PublicKeyToken=a77e0ba5eab10125")>
Friend Shared Function DummyFuncion1(parm As Integer) As Integer
End Function

适用于