首页 > 解决方案 > 我不明白基类的继承

问题描述

我对继承的理解非常基本。

我想创建一个基类,它实现IDisposable然后让其​​他具有功能的类从该基类继承,以便它们共享一个基类型。

它将允许我将每个对象放入一个列表中,以便我可以在我想要清理时一次性处理所有内容。问题是,C# 中的类只能继承一次,否则只能使用接口。

现在,像 , 这样的类如何Thread从我的基类继承而无需我基本上Thread重新编写该类的代码?

听起来可能很愚蠢,但简而言之:我想让已经存在的类继承我选择的基类,而不会失去它的功能。(以便项目中使用的所有类都有一个共同的基础,总结为一种对象类型,例如List

这甚至可能吗?

标签: c#inheritanceinterfacesubclassbase-class

解决方案


如果您的目标是简单地存储可以处理的对象列表,那么您需要一个List<IDisposable>. 任何直接或间接实现该接口的类都可以存储在其中。

var disposables = new List<IDisposable>();
disposables.Add(new MyClass1());
disposables.Add(new SomeClass());
disposables.Add(new AnotherClass());

disposables.ForEach(d => d.Dispose());

这是否是一个值得的模式,我不相信!


推荐阅读