[英]How should i track Objs in use, C#
我有一个与服务器建立连接的管理器。 我保持连接活着,我希望我的线程在需要时请求连接。 我的问题是
如何自动跟踪对象? 我希望它的工作方式类似于范围指针。 我请求连接,然后当我的obj超出范围时,它告诉管理器它不再使用了。 我不会将它作为指针传递。 我会做类似的事情
{
Obj = Man.GetObj();
//some loop
Obj.DoSomething()
} //auto tell man that obj is no longer in use
您可以创建自己的包装器对象并实现IDisposable
。 在Dispose()
方法中,通知管理器您已不再使用。 然后,您可以将您的陈述视为......
using(Obj obj = Man.GetObj())
{
Obj.DoSomething();
}
using
块在范围结束时自动调用Dispose()
方法。
查看using语句。
实现IDisposable接口,并使用using关键字
class MyClass : IDisposable { void Dispose() {} } using(MyClass obj = Man.GetObj()) { obj.DoSomething(); }// obj.Dispose() will be called when the object goes out of scope.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.