假设我有这两个课程
class BaseClass
{
protected HashSet<BaseClass> container;
}
class DerivedClass : BaseClass
{
DerivedClass()
{
container = new HashSet<DerivedClass>();
}
}
然后我收到一个错误:无法转换。
由于每个 DerivedClass(应该)都是 BaseClass,我不太确定为什么会抛出这个错误,但确实如此。
BaseClass 的目标是对 执行各种操作container
,只有特别特定的行为与 DerivedClass 相关联——其中,要求容器类型为HashSet<DerivedClass>
。
这个目标通常如何实现?