c# - 我必须在 C# 中处理参数吗?

标签 c# memory-management memory-leaks emgucv

<分区>

我目前使用 NDA 库(非商业),它具有零文档并使用 EMGU。 这是我的问题的示例:

public void example()
{
     Image<Gray,byte> exp = new Image<Gray,byte>(128,128);
     foo(exp);
     exp.Dispose();
}

public bool foo(Image<Gray,byte> bar)
{
     //magic here
     //bar.Dispose() ??
     return true;
}

当我将 EMGU-Image 从一个函数传递到另一个函数时,我是否也必须在被调用函数中调用 .Dispose()?或者在被调用者中调用它就足够了吗?

最佳答案

最好只调用一次 Dispose()。但是,如果 Dispose() 方法是以“正常方式”编写的,那么多次调用它应该没问题。

关于c# - 我必须在 C# 中处理参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38107768/

相关文章:

c# - WPF 绑定(bind)到 contentcontrol.child 调用了两次

c - 在c中连接字符串的最有效方法

android - Android 中使用的确切内存模型是什么?

c - 为什么不在这里释放 calloc() 的内存(YOLO)

java - Log4j2 AsyncAppender 线程不会死在 tomcat 取消部署导致内存泄漏

c++ - 使用 x 关闭程序时内存泄漏

c# - 打开新窗口窗体窗口,立即关闭

c# - 如何安装 Roslyn(用于源代码修改)?

c# - 我如何将类属性(带有导航 Prop )作为实体属性?复杂类型不行

iphone - (iphone)UIImage内存管理问题