c# - 我不明白基类的继承
问题描述
我对继承的理解非常基本。
我想创建一个基类,它实现IDisposable
然后让其他具有功能的类从该基类继承,以便它们共享一个基类型。
它将允许我将每个对象放入一个列表中,以便我可以在我想要清理时一次性处理所有内容。问题是,C# 中的类只能继承一次,否则只能使用接口。
现在,像 , 这样的类如何Thread
从我的基类继承而无需我基本上Thread
重新编写该类的代码?
听起来可能很愚蠢,但简而言之:我想让已经存在的类继承我选择的基类,而不会失去它的功能。(以便项目中使用的所有类都有一个共同的基础,总结为一种对象类型,例如List
)
这甚至可能吗?
解决方案
如果您的目标是简单地存储可以处理的对象列表,那么您需要一个List<IDisposable>
. 任何直接或间接实现该接口的类都可以存储在其中。
var disposables = new List<IDisposable>();
disposables.Add(new MyClass1());
disposables.Add(new SomeClass());
disposables.Add(new AnotherClass());
disposables.ForEach(d => d.Dispose());
这是否是一个值得的模式,我不相信!
推荐阅读
- arrays - 将文本文件“逐行”读入c中的数组
- electron - 当第二个窗口被隐藏时,防止第一个窗口的自动显示和焦点
- javascript - Node.js - 从 https.request() 返回显示奇怪符号的响应
- sql - Spark SQL 在不丢弃历史状态的情况下生成 SCD2
- docker - DEVILBOX : 对 data/www/{symbolic_link} 使用符号链接
- amazon-s3 - 就性能方面而言,Kafka 到 s3 连接器会更好
- c - 使用数组步长和网格间距以 vtk 格式将 C 数组写入 3D 体积
- python-3.x - 使用 pyarrow 优化将 pandas 数据帧转换为 pyspark 数据帧不起作用
- javascript - 在 ember 插件中管理第三方依赖项的正确方法是什么?
- python - 通过 Python 中的绝对值获取 XML 文件中的值