extern修饰符用于声明由程序集外部实现的成员函数
经常用于系统API函数的调用(通过 DllImport)。注意,和DllImport一起使用时要加上 static修饰符
也可以用于对于同一程序集不同版本组件的调用(用 extern声明别名)
不能与 abstract修饰符同时使用
示例:
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace Example03
{
class Program
{
//注意DllImport是一个Attribute Property,在System.Runtime.InteropServices命名空间中定义
//extern与DllImport一起使用时必须再加上一个static修饰符
[DllImport("User32.dll")]
public static extern int MessageBox(int Handle, string Message, string Caption, int Type);
static int Main()
{
string myString;
Console.Write("Enter your message: ");
myString = Console.ReadLine();
return MessageBox(0, myString, "My Message Box", 0);
}
}
}
本文探讨了extern修饰符在C#中的作用,特别是在调用系统API函数和不同版本组件间的调用中。通过使用DllImport属性并配合static修饰符,实现了对外部成员函数的引用和调用。
11万+

被折叠的 条评论
为什么被折叠?



