C# 使用Com组件正确的释放方法


使用COM组件后,用不用手动释放资源,其实我也不太确定,因为从我自己测试的结果看,好像不释放对内存影响也不是太大。手动释放内存会好一点。也许是.net有gc垃圾回收机制能够起到一定的作用。

 

不管是否.net有gc垃圾回收机制能够起作用,最好是手动释放一下。

方法如下:

    public static class ReleaseCom
    {
        //释放资源方法一
        public static void ReleaseComObject(object obj)
        {
            while ((Marshal.ReleaseComObject(obj)) > 0) ;
        }
        //释放资源方法二
        public static void ReleaseComObject2(object obj)
        {
            int result = 0;
            do
            {
                result = Marshal.ReleaseComObject(obj);
            }while (result > 0) ;
        }
    }
 
使用的时候调用               
    //释放资源
                ReleaseCom.ReleaseComObject(obj);


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM