看别人代码发现的问题Com组件释放有问题,希望大家不要犯各种低级错误了.正确的释放方法如下:
public static void ReleaseComObject(object obj) {
int result = 0;
do {
result = Marshal.ReleaseComObject(obj);
} while (result > 0);
}
或者
public static void ReleaseComObject(object obj) {
while((Marshal.ReleaseComObject(obj))>0);
}
Com组件使用引用计数,当计数器为0时才正式释放