基本上我想要做的是实现一个类,它可以包含对同一类型实例的引用列表。如下所示:
interface IAccessibilityFeature
{
List<IAccessibilityFeature> Settings { get; set; }
}
class MyAccess : IAccessibilityFeature
{
List<MyAccess> Settings { get; set; }
}
我知道这不会编译,因为界面明确说我的Settings
必须是List<IAccessibilityFeature>
类型。我所追求的是关于在MyAccess
课程中实现我想要做的正确方法的一些指导。
答案 0 :(得分:14)
试试这个:
interface IAccessibilityFeature<T> where T : IAccessibilityFeature<T>
{
List<T> Settings { get; set; }
}
class MyAccess : IAccessibilityFeature<MyAccess>
{
List<MyAccess> Settings { get; set; }
}
答案 1 :(得分:3)
这可以通过以下方式完成:
interface IAccessibilityFeature<T>
{
List<T> Settings { get; set; }
}
class MyAccess : IAccessibilityFeature<MyAccess>
{
List<MyAccess> Settings { get; set; }
}