我正在进入验证属性的世界,试图更强烈地订阅DRY。我没有使用开箱即用的资源系统,因为根据经验,这很糟糕。所以我开发了一个基于XML的资源提供程序,它提供了更好的功能,但我发现我不能在System.ComponentModel.DataAnnotations.ValidationAttribute
类系列中使用它。要求资源类型为其资源提供硬编码的静态属性似乎是一个巨大的限制。我原本以为界面会更合理。有没有办法可以使用反射或其他东西破解这个,以便这些属性的资源系统认为它们是从静态属性读取但实际上是通过我的组件的方法?
这是我的资源提供者的界面。
public interface IStringProvider
{
String GetValue(String a_name, params Object[] a_params);
}
现在,我想我必须创建静态属性“替身”,这是很多额外的代码,我想避免。
永远感谢。