我应该如何跟踪使用中的Objs,C#

时间:2009-04-14 17:25:00

标签: c#

我有一个与服务器建立连接的管理器。我保持连接活着,我希望我的线程在需要时请求连接。我的问题是

如何自动跟踪对象?我希望它的工作方式类似于范围指针。我请求连接,然后当我的obj超出范围时,它告诉管理器它不再使用了。我不会将它作为指针传递。我会做像

这样的事情
{
Obj = Man.GetObj();
//some loop
    Obj.DoSomething()
} //auto tell man that obj is no longer in use

3 个答案:

答案 0 :(得分:6)

您可以创建自己的包装器对象并实现IDisposable。在Dispose()方法中,告知经理您已不再使用。然后,您可以将您的陈述称为......

using(Obj obj = Man.GetObj())
{
    Obj.DoSomething();
}

using块会在范围结束时自动调用Dispose()方法。

答案 1 :(得分:1)

查看using语句。

MSDN

答案 2 :(得分:1)

实施IDisposable接口,并使用使用关键字


class MyClass : IDisposable
{
    void Dispose()
    {}
}

using(MyClass obj = Man.GetObj())
{
    obj.DoSomething();
}// obj.Dispose() will be called when the object goes out of scope.