//
private SViewModelList _sList;
public SViewModelList SList
{
get
{
return this._sList;
}
set
{
if (this._sList != value)
{
this._sList = value;
}
OnPropertyChange("SList");
}
}
用的时候:
this.SList = new SViewModelList();
this.SList.Read<SViewModel>(e.Result.SchSListResult.Data);
SViewModel.cs文件
{
public class SViewModelList : PViewModelList //继承基类
{
public SViewModelList()
: base()
{
}
}
public class SViewModel : PViewModel //继承基类
{
private string _mac;
public string Mac
{
get
{
return this._mac;
}
set
{
if (this._mac != value)
{
this._mac = value;
}
OnPropertyChange("Mac");
}
}
public override void Read(result_p info) //重写基类方法
{
base.Read(info);
if (info == null) return;
SModel m = this._model as SModel;
result_s i = info as result_s;
m.Mac = i.mac;
}
}
基类
{
public class PViewModelList : ViewModelListBase
{
public PViewModelList()
: base()
{
}
public void Read(result_p[] list)
{
if (list == null) return;
foreach (result_p info in list)
{
PViewModel point = new PViewModel();
point.Read(info);
point.ResetChanges();
this.Add(point);
}
}
public void Read<T>(result_p[] list) where T : PViewModel, new() //where
{
if (list == null) return;
foreach (result_p info in list)
{
T p = new T();
p.Read(info);
p.ResetChanges();
this.Add(p);
}
}
}
public class PViewModel : ViewModelBase
{
}
public virtual void Read(result_p info)
{
if (info == null) return;
this._model.Id = info.id;
}
}