gpt4 book ai didi

c# - 将数据注释与 Resources.Messages C# 结合使用

转载 作者:太空宇宙 更新时间:2023-11-03 12:46:44 27 4
gpt4 key购买 nike

我是一名学生和初级开发人员。

我在我工作场所的一个项目中……我正在使用数据注释进行验证……但我需要使用 Resources.Messages 来实现动态错误消息。这是我正在尝试做的一个例子:

[Required (ErrorMessage = (string.Format(Messages.MissingParameter, Messages.Ad)))]
[Range(0, long.MaxValue)]
public long? Ad { get; set; }

在这种情况下,缺少的参数是以下字符串“The parameter {0} is required”,Messages.Ad 是一个带有国际化字段的字符串。

那么,如果我使用数据注释,有一些解决方案,比如使用 ErrorResource...(比如这个 RegularExpressions 示例 -> Why can't I use resources as ErrorMessage with DataAnnotations?)

但这些都没有考虑传递使用参数传递最终字符串的字符串的问题(如 string.format 所示)

所以,我的问题是:如何将复杂的国际化字符串与数据注释一起使用。

最佳答案

你不能,因为你必须使用能够用作属性参数的特定值。

来自 MSDN - Attributes Tutorial C# :

属性参数仅限于以下类型的常量值:

  • 简单类型(bool、byte、char、short、int、long、float 和 double)
  • 字符串
  • 系统类型
  • 枚举
  • 对象(对象类型的属性参数的参数必须是上述类型之一的常量值。)
  • 任何上述类型的一维数组

关于c# - 将数据注释与 Resources.Messages C# 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37032289/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com