我有一个接口(interface),我的模型和 View 模型从中实现。我在接口(interface)中有一个列表属性,模型实现为列表,但由于某些原因,我需要在 View 模型中使用可观察集合。如何使用可观察集合实现相同的属性。这是我的示例代码,
public class MyObject
{
public string Property1 { get; set; }
public string Property1 { get; set; }
}
public interface IFoo
{
List<MyObject> MyList { get; set; }
}
public class Model : IFoo
{
private List<MyObject> mMyList;
public List<MyObject> MyList
{
get { return mMyList; }
set { mMyList = value; }
}
}
public class ViewModel : IFoo
{
// I want
//ObservableCollection<string> Mylist
//for view purpose,How can I use the same property from interface
}
最佳答案
别这么苛求了。我的意思是,在您的界面中。
public interface IFoo
{
IList<MyObject> MyList { get; set; }
}
并在幕后使用 OC
ObservableCollection 实现了 IList,因此您可以轻松
public class Bar : IFoo
{
public IList<MyObject> MyList {get; private set;}
public Bar()
{
MyList = new ObservableCollection<MyObject>();
//snip
绑定(bind)会知道我们的 secret 并采取相应的行动。
关于c# - 如何避免 View 模型的冗余属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29749829/