IClearCase,ICle中的IClearTool用法,如何管理分配的内存

时间:2009-08-11 06:52:15

标签: c# memory-management clearcase

在计时器刻度我正在分配新的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
        {
        }
    }

1 个答案:

答案 0 :(得分:0)

2条评论:

  

以编程方式“获取”ClearCase.Application对象后,是否需要继续在CAL中获取对象?
  获得ClearCase.Application对象后,可以使用它来获取其他对象   无需再次创建它们   CAL尽可能确保CAL对象与底层ClearCase数据保持同步,并在调用属性和方法时根据需要进行刷新。
  但是,如果有人在CAL对象仍保留引用的情况下删除了基础ClearCase数据,则CAL对象可能会变为无效。

含义:你可以一劳永逸地设置CCVOB个实例(除非你认为Vob会消失......这应该是一个非常罕见的事件!)

  • 在C#中,将代码置于使用中可确保在控件离开块时尽快处理对象(但不一定要收集)。

我不确定CCVOB是否实现Disposable,但如果确实如此,则明确将其设置为null会阻止其正确处理。
所以我不推荐ccNew = null;