C#使用丢失的属性扩展Web参考类

时间:2019-05-10 12:18:23

标签: c# asp.net-mvc web-reference

是否可以通过扩展Web引用中的类来替换丢失的属性。

例如,以前一个包含名为“ Amount”的属性的类是以下定义的同一项目的一部分:

public class Test
{
    [Required]
    [Display(Name = "Amount", Description = "Amount")]
    [DisplayFormat(DataFormatString = "{0:F2}", ApplyFormatInEditMode = true)]
    [Range(1000, int.MaxValue)]
    public decimal Amount { get; set; }
}

然后将包含上面编写的属性的类移动到外部项目,并作为Web引用进行引用。导入的类具有'Amount'属性,但是如下所示:

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.7.3190.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
public partial class Test {

    private decimal amountField;

    /// <remarks/>
    public decimal Amount {
        get {
            return this.amountField;
        }
        set {
            this.amountField = value;
        }
    }
}

如您所见,[Required][Display(Name = "Amount", Description = "Amount")][Display(Name = "Amount", Description = "Amount")][DisplayFormat(DataFormatString = "{0:F2}", ApplyFormatInEditMode = true)][Range(1000, int.MaxValue)]等属性已被忽略。

这些属性仍然是模型验证所必需的,如何通过添加缺少的属性来扩展导入的类,以使表单验证不受影响?

0 个答案:

没有答案