Bri*_*ian 19 .net managed-c++ idisposable
我正在尝试在托管C++(.Net 2.0)中处理IDisposable对象(FileStream ^ fs)并收到错误
'Dispose' : is not a member of 'System::IO::FileStream'
Run Code Online (Sandbox Code Playgroud)
它说我应该调用析构函数.会打电话
fs->~FileStream();
Run Code Online (Sandbox Code Playgroud)
在FileStream对象上调用dispose方法?为什么我不能调用Dispose?
Rob*_*ker 29
正确的模式是删除对象:
delete fs;
Run Code Online (Sandbox Code Playgroud)
这将被转换为对Dispose()的调用
请参阅这篇文章,了解有关幕后内容的一些细节.这个成语的优点是它允许你写:
{
FileStream fs(...)
...
}
Run Code Online (Sandbox Code Playgroud)
并且正确调用Dispose方法...等同于C#中的using块.文件流对象仍在托管堆上分配.
归档时间: |
|
查看次数: |
4535 次 |
最近记录: |