我有一个界面
grace
paul
mang juan
我想为我的视图模型实现它并对集合进行一些绑定。如何在实现的类中实现与可观察集合相同的List
public interface IEmployee
{
List<Job> Jobs{get;set;}
}
我不允许更改接口,因为它是由其他类实现的。如何需要在View中显示作业并使用仅在可观察集合中可用的集合更改通知。
答案 0 :(得分:0)
错误是因为ObservableCollection<T>
未从List<T>
继承。但是你可能不需要在界面中List<T>
。我认为IEmployee
接口设计不正确。 IEmployee
的用户需要从列表中获得什么?如果他们只需要迭代它,请在IEnumerable<Jobs>
中使用IEmployee
。
如果IEmployee
的用户也需要Count
媒体资源,则可以在Jobs
中将ICollection<Jobs>
声明为IEmployee
。 ObservableCollection<T>
确实实施了ICollection<T>
顺便说一下,你确定班级名称应该是Jobs
而不是Job
吗? Jobs
是一个类的奇怪名称。
答案 1 :(得分:0)
这可能会为你做到这一点
public class Employee : IEmployee
{
public JobCollection Jobs { get; set; }
public Employee()
{
Jobs = new JobCollection();
}
}
public class JobCollection : ObservableCollection<Job>
{
}
答案 2 :(得分:-2)
这是正确的解决方案:
public interface IEmployee
{
ObservableCollection<Jobs> Jobs { get; set; }
}