C# externキーワードの使い方と注意点【P/Invoke】
C#では、externキーワードは、他の言語で書かれた関数やメソッドを宣言するために使用されます。外部メソッドは、DllImport属性を使用して外部ライブラリ内の関数を参照することができます。以下はexternキーワードの使用例です:
using System;
using System.Runtime.InteropServices;
class Program
{
// 声明外部方法
[DllImport("user32.dll", SetLastError = true)]
public static extern int MessageBox(IntPtr hWnd, string text, string caption, uint type);
static void Main()
{
// 调用外部方法
MessageBox(IntPtr.Zero, "Hello World!", "Message Box", 0);
}
}
上の例では、外部メソッドMessageBoxをexternキーワードを使用して宣言し、DllImport属性を使ってuser32.dllライブラリのMessageBox関数を参照しています。Mainメソッドでは、メッセージボックスを表示するためにMessageBoxメソッドが呼び出されています。