【发布时间】:2021-03-08 01:24:12
【问题描述】:
有时您希望实现如下所示的接口:
public interface ITraversable<T> {
List<T> Children { get; }
}
但有时您需要像这样的不同集合类:
public interface ITraversable<T> {
ObservableCollection<T> Children { get; }
}
但你不想重复自己,所以你试试这个界面:
public interface ITraversable<T> {
IEnumerable<T> Children { get; }
}
但是任何使用 List 或 ObservableCollection 的实现类都会报错:
错误 CS0738 'Tester' 没有实现接口成员 'ITraversable.Children'。 “Tester.Children”无法实现“ITraversable.Children”,因为它没有匹配的返回类型“IEnumerable”。
是否可以创建一个具有通用接口属性的单个接口,该接口可由多个具体类实现使用?
【问题讨论】:
标签: c# class generics interface