基本クラスの派生クラスからプロパティを取得するにはどうすればよいですか?
基本クラス:
public abstract class BaseModel {
protected static readonly Dictionary<string, Func<BaseModel, object>>
_propertyGetters = typeof(BaseModel).GetProperties().Where(p => _getValidations(p).Length != 0).ToDictionary(p => p.Name, p => _getValueGetter(p));
}
派生クラス:
public class ServerItem : BaseModel, IDataErrorInfo {
[Required(ErrorMessage = "Field name is required.")]
public string Name { get; set; }
}
public class OtherServerItem : BaseModel, IDataErrorInfo {
[Required(ErrorMessage = "Field name is required.")]
public string OtherName { get; set; }
[Required(ErrorMessage = "Field SomethingThatIsOnlyHereis required.")]
public string SomethingThatIsOnlyHere{ get; set; }
}
この例では、BaseModel クラスで ServerItem クラスから "Name" プロパティを取得できますか?
編集: ここで説明されているように、モデルの検証を実装しようとしています: http://weblogs.asp.net/marianor/archive/2009/04/17/wpf-validation-with-attributes-and-idataerrorinfo-interface-in -mvvm.aspx
(ほぼ) すべての検証マジックを含む基本モデルを作成し、そのモデルを拡張すれば、問題ないと考えました...