从外部dll向类添加属性

时间:2015-01-27 08:25:58

标签: c# asp.net-mvc attributes data-annotations

我已经编写了一个桌面应用程序,现在我正在研究相同程序的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)
    } 
}

有更好的方法吗?对于更大的类来说,这似乎是很多代码......

0 个答案:

没有答案