我已经编写了一个桌面应用程序,现在我正在研究相同程序的ASP.net MVC版本。许多商业模型都在.dll库中,我在桌面程序和MVC程序之间共享。
我想使用MVC的功能,比如验证,但为此我需要为.dll中定义的模型类添加属性。因为它是我自己的库我可以做到,但如果我需要使用我无法访问的库,该怎么办呢。什么是最佳做法?写一个包装类,像这样吗?
举个例子,让它成为.dll
中的一个简单类public class A {
public string Name {get; set;}
public A(string _name){
this.Name = _name
}
}
在MVC项目中,我想使用A
,但也希望将DataAnnotations添加到其属性中。然后我可以定义一个这样的新类:
public class A_Web {
private _a;
[Required(ErrorMessage = "A Name is required")]
public string Name {get {return _a.Name;} set {_a.Name = value;}}
public A_Web(string _name){
this._a = new A(_name)
}
}
有更好的方法吗?对于更大的类来说,这似乎是很多代码......