c# - 错误 CS0311 从树派生有序树
问题描述
我正在尝试创建一个MyOrderedTree
从基类派生的类MyTree
...
public class MyTree<T>
{
public T Payload { get; private set; }
public MyTree<T> Parent { get; private set; }
public MyList<MyTree<T>> Children { get; private set; }
// Works
}
和
public class MyOrderedTree<T> : MyTree<T> where T : IComparable<T>
{
public new MyOrderedList<MyOrderedTree<T>> Children { get; private set; } // Error CS0311
private MyOrderedTree()
{
}
public MyOrderedTree(T passed_payload) : base (passed_payload)
{
Children = new MyOrderedList<MyOrderedTree<T>>(); // Error CS0311
}
// Works
}
列表类已定义....
public class MyList<T>
{
// Works
}
我从中得出...
public class MyOrderedList<T> : MyList<T> where T : IComparable<T>
{
// Works
}
问题在于它会产生此错误:
CS0311 The type 'MyOrderedTree<T>' cannot be used as type parameter 'T' in the generic type or method
'MyOrderedList<T>'. There is no implicit reference conversion from 'MyOrderedTree<T>' to
'System.IComparable<MyOrderedTree<T>>'.
我在列表中标记的地方,我不知道该怎么办。
我应该怎么做才能纠正这个?或者,如果这不是我正在尝试的正确方法,我应该优先做什么?
解决方案
推荐阅读
- google-cloud-firestore - 了解分布式系统中的一致性
- angularjs - AngularJS - 如何为带有业力和茉莉花的异步功能编写单元测试?
- php - 使用查询字符串进行分页会导致找不到错误页面
- c# - 如何为 WCF http 中继配置负载均衡策略
- bash - shell脚本正在运行,但不是脚本内的命令
- laravel - 无法在 laravel 控制器的变量中获取文件名和扩展名?
- php - 如何在没有 id 的情况下更新表
- html - 在一行中有多个选择
- react-native - 我如何在多个屏幕之间导航,我收到以下错误(未定义不是对象(this.props.navigation))
- android - 如何使用 android 中的数据绑定从 EditText 获取按钮单击的值?