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

标签 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 block 会在范围结束时自动调用 Dispose() 方法。

关于c# - 我应该如何跟踪使用中的 Objs,C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/748591/

相关文章:

c# - MonoGame安装的程序集与MonoGame.Binaries NuGet软件包中的程序集有何不同?

c# - 如何防止 DataGridTemplateColumn 根据某些条件进入编辑模式?

c# - 如何使用 NUnit (C#) 进行通用测试?

c# - 从 WindowsFormsHost 中的 Windows 窗体控件获取 WPF 窗口

c# - 正则表达式或其他方法可从特定位置在C#中使用字符串

c# - "WHERE x IN y"子句与 dapper 和 postgresql 抛出 42601 : syntax error at or near\"$1\"

c# - 如何以编程方式设置 DataGridViewComboBoxCell 值?

c# - 通过反射读取子类的非静态属性值

c# - 如何从 C# 中的资源播放 .mp3 文件?

c# - Moq 具有 5 个以上参数和访问调用参数的函数