c# – 使用一次性对象的类的层次结构.在所有这些上实现IDisposable?

c# – 使用一次性对象的类的层次结构.在所有这些上实现IDisposable?,第1张

概述我有一个使用filestream的类.当应用关闭时,需要关闭流,所以我使类实现IDisposable. 该类是另一个类的成员,它是另一个类的成员等.一直到我的主应用程序. 因此,我是否必须在所有这些类上实现IDisposable? 如果我以后更改我的文件实现,以便每次写入后关闭文件怎么办?我现在有一套完全没有理由实现IDisposable的类. 我想我对不必要的IDisposable语义进行分类, 我有一个使用filestream的类.当应用关闭时,需要关闭流,所以我使类实现Idisposable.

该类是另一个类的成员,它是另一个类的成员等.一直到我的主应用程序.

因此,我是否必须在所有这些类上实现Idisposable?

如果我以后更改我的文件实现,以便每次写入后关闭文件怎么办?我现在有一套完全没有理由实现Idisposable的类.

我想我对不必要的Idisposable语义进行分类,对于这些不需要它们的一些轻微的实现细节,不舒服.有没有办法呢?

解决方法 一般来说,如果您的类型包含实现Idisposable的成员,那么类型也应该实现IDiposable.这是实现Idisposable模式的最简单方法.

我使用的一个例外是如果我的类型合同包含一个方法,1)必须被调用,2)表示Idisposable资源的使用结束.在这种情况下,我觉得没有实现Idisposable,而是使用该方法调用dispose

总结

以上是内存溢出为你收集整理的c# – 使用一次性对象的类的层次结构.在所有这些上实现IDisposable?全部内容,希望文章能够帮你解决c# – 使用一次性对象的类的层次结构.在所有这些上实现IDisposable?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1237034.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存