C#2.0 extern修饰(转载)

  C#2.0 extern修饰符

  extern 修饰符用于声明在外部实现的方法。extern 关键字常用于定义外部程序集别名,使得可以从单个程序集中引用同一组件的不同版本。

  extern 修饰符的常见用法是在使用 Interop 服务调入非托管代码时与 DllImport 属性一起使用;在这种情况下,该方法还必须声明为 static。如:

[DllImport("avifil32.dll")]
private static extern void AVIFileInit();
在该示例中,程序接收来自用户的字符串并将该字符串显示在消息框中。程序使用从 User32.dll 库导入的 MessageBox 方法。using System; 


using System.Runtime.InteropServices; 
class MainClass  

    [DllImport("User32.dll")] 
    public static extern int MessageBox(int h, string m, string c, int type); 

    static int Main()  
    { 
        string myString;  
        Console.Write("Enter your message: "); 
        myString = Console.ReadLine(); 
        return MessageBox(0, myString, "My Message Box", 0); 
    } 
}

 

[DllImport ("avifil32.dll",PreserveSig=true)]
     public static extern int AVIFileOpen(ref int ppfile,string szFile,int uMode,int pclsidHandler);


  private int aviFile = 0;
     private IntPtr avistream;

     public void Open(string filename)
     {
     AVIFileInit();
     int result = AVIFileOpen(ref aviFile, filename, OF_SHARE_DENY_WRITE, 0);
     }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值