C# Extern修饰符的用法

关于Extern修饰符的用法网上其实很多了,这里我来老生常谈一下,以便加深印象。

extern 主要用于声明在外部实现的方法,什么叫外部实用的方法呢,一般说来就是用System.Runtime.InteropServices服务的DllImport方法引入非托管代码程序集。例如调用系统API,C语言写的方法等等。在这种情况下,声明必须为static

同时,extern 关键字还可以定义外部程序集别名,使得可以从单个程序集中引用同一组件的不同版本。

下面是一个改写自MSDN上的简单的例子,调用系统winmm.DLL播放wav文件:

//系统API的调用的声明
        [System.Runtime.InteropServices.DllImport("winmm.DLL", EntryPoint = "PlaySound", SetLastError = true)]
        public static extern void PlaySound(string path,System.IntPtr hMod,PlaySoundFlags flags);

//调用该方法

    string path = @"c:/111.wav";
            try
            {
                PlaySound(path, new System.IntPtr(), PlaySoundFlags.SND_SYNC);
            }
            catch (Exception ex)
            {
                throw (ex);
            }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值