通過每個屬性我正在使用simplemvvmtoolkit進行驗證(INotifyDataErrorInfo)。而不是我重複自己一遍又一遍的視圖模型中的每個屬性,Id喜歡使用反射來獲取所有屬性並驗證它們,但我似乎無法弄清楚在validateProperty方法中傳遞什麼。使用反射來獲取所有屬性並通過方法
private void ValidateInput()
{
var unitProperties = this.GetType().GetProperties()
.Where(x => x.CanRead);
foreach (var prop in unitProperties)
ValidateProperty(prop, prop.GetValue(this, null)); //????
//?^get errors here
}
ValidateProperty發生在:
protected virtual void ValidateProperty<TResult>(Expression<Func<TViewModel, TResult>> property, object value);
如果」已經實現了INotifyDataErrorInfo,你不能只爲每個屬性名稱調用GetErrors(name)方法嗎? – RogerN 2013-04-24 18:09:55