当前位置:  开发笔记 > 编程语言 > 正文

如何在Managed C++中处理IDisposable

如何解决《如何在ManagedC++中处理IDisposable》经验,为你挑选了1个好方法。

我正在尝试在托管C++(.Net 2.0)中处理IDisposable对象(FileStream ^ fs)并收到错误

'Dispose' : is not a member of 'System::IO::FileStream'

它说我应该调用析构函数.会打电话

fs->~FileStream();

在FileStream对象上调用dispose方法?为什么我不能调用Dispose?



1> Rob Walker..:

正确的模式是删除对象:

delete fs;

这将被转换为对Dispose()的调用

请参阅这篇文章,了解有关幕后内容的一些细节.这个成语的优点是它允许你写:

{
  FileStream fs(...)
  ...
}

并且正确调用Dispose方法...等同于C#中的using块.文件流对象仍在托管堆上分配.


忘了这个并再次使用这个答案.我希望我能接受/投票两次!
推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有