在计时器刻度我正在分配新的ClearCase ApplicationClass对象,以下代码是否可以? 或者我需要释放内存,如果是,怎么样?我使用的是ccauto.dll的ClearCase Interop,我相信ccauto.dll是非托管代码,我很困惑,我是不是应该释放内存?
请告知。
private void timer1_Tick(object sender, EventArgs e)
{
try
{
IClearCase ccNew = new ApplicationClass();
CCVOB vob = ccNew.get_VOB(ClearCaseVOB);
ccNew = null;
}
catch
{
}
}
答案 0 :(得分:0)
2条评论:
以编程方式“获取”ClearCase.Application对象后,是否需要继续在CAL中获取对象?
获得ClearCase.Application
对象后,可以使用它来获取其他对象 无需再次创建它们 CAL尽可能确保CAL对象与底层ClearCase数据保持同步,并在调用属性和方法时根据需要进行刷新。
但是,如果有人在CAL对象仍保留引用的情况下删除了基础ClearCase数据,则CAL对象可能会变为无效。
含义:你可以一劳永逸地设置CCVOB
个实例(除非你认为Vob会消失......这应该是一个非常罕见的事件!)
我不确定CCVOB
是否实现Disposable
,但如果确实如此,则明确将其设置为null会阻止其正确处理。
所以我不推荐ccNew = null;