【问题标题】:Disposing two objects pointed处理两个指向的对象
【发布时间】:2017-12-16 16:40:09
【问题描述】:

我有一个应用程序可以传输网络摄像机的图像。 问题是当我关闭应用程序时,它说 1 个对象仍然存在(未处理)。

出现问题时的代码是:

public override void Render(float dt)
        {
            camera.Lock();
            if (newCameraFrame)
            {
                //Texture tmp = new Texture();
                cameraTexture = camera.Texture;
                newCameraFrame = false;
            }
            base.Render(dt);
            camera.Unlock();
        }

问题出现在一行:cameraTexture = camera.Texture; 我成功地处理了这两个变量,但似乎仍然有一些东西在持有它们。 你有什么指示可以告诉我我该去哪里寻找问题吗?

【问题讨论】:

    标签: c# .net ip ip-camera


    【解决方案1】:

    这些对象是否实现了 IDisposable 接口?

    那么你应该在 using 块中使用它们:

    using(var cameraTexture = camera.Texture())
    {
       //..do all necessary things
    }
    
    //...here the object will be automatically disposed of
    

    IDisposable() 模式是您应该寻找的关键字...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多