C# C数据注释和资源文件-为什么没有简单的构造函数?

C# C数据注释和资源文件-为什么没有简单的构造函数?,c#,resources,attributes,data-annotations,custom-attributes,C#,Resources,Attributes,Data Annotations,Custom Attributes,我正在ASP.NET MVC应用程序中使用DataAnnotions来验证输入模型。如果我想使用资源文件处理错误消息,那么我必须使用命名参数指定这些文件,如下所示: [Required( ErrorMessageResourceType = typeof(Validation), ErrorMessageResourceName = "NameRequired")] 因为我在一堆文件中使用了它,我想,如果我可以使用这样的构造函数,它会更容易和更可读: [Required(typ

我正在ASP.NET MVC应用程序中使用DataAnnotions来验证输入模型。如果我想使用资源文件处理错误消息,那么我必须使用命名参数指定这些文件,如下所示:

[Required(
    ErrorMessageResourceType = typeof(Validation),
    ErrorMessageResourceName = "NameRequired")]
因为我在一堆文件中使用了它,我想,如果我可以使用这样的构造函数,它会更容易和更可读:

[Required(typeof(Validation), "NameRequired")]
如果我编写自己的自定义验证属性,我可以实现这样一个简单的构造函数:

public class MyCustomValidationAttribute : ValidationAttribute
{
    public MyCustomValidationAttribute(Type resourceType, string resourceName)
    {
        base.ErrorMessageResourceType = resourceType;
        base.ErrorMessageResourceName = resourceName;
    }
}
我是不是遗漏了什么,还是想让我们微软的DataAnnotations团队多写几行-

编辑:


澄清一下:我有一个名为Validation.resx的资源文件。

我听到了你的声音,也感受到了你的痛苦。我们有一个数据库,其中有数千项需要数据注释


一种选择是使用资源文件。乍一看可能需要做更多的工作,但您可以将资源重新用于简单的事情,如名称要求。请看下面的一些线索。

我听到了你的声音,也感受到了你的痛苦。我们有一个数据库,其中有数千项需要数据注释


一种选择是使用资源文件。乍一看可能需要做更多的工作,但您可以将资源重新用于简单的事情,如名称要求。请参阅此以获取一些线索。

您可以查看此Github扩展,它可以产生更干净的代码:

您可以查看此Github扩展,它可以产生更干净的代码:

我正在使用资源文件。。。它工作得很好,但我在问自己,是否不能为验证属性提供一个更简单的构造函数。如前所述,我不这么认为。我正在使用资源文件。。。它工作得很好,但我在问自己,是否不能为验证属性提供一个更简单的构造函数。