簡體   English   中英

在 Resources.Messages C# 中使用數據注釋

[英]Using Data Annotations with Resources.Messages C#

我是一名學生和初學者開發人員。

我在我工作場所的一個項目中......我正在使用數據注釋進行驗證......但我需要使用 Resources.Messages 來實現動態錯誤消息。 這是我正在嘗試做的一個例子:

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

在這種情況下,缺少的參數是以下字符串“參數 {0} 是必需的”,而 Messages.Ad 是具有國際化字段的字符串。

Soo,如果我使用 Data Annotation,有一些解決方案,比如使用 ErrorResource...(就像這個 RegularExpressions 示例 -> 為什么我不能將資源用作帶有 DataAnnotations 的 ErrorMessage?

但是這些沒有考慮傳遞使用參數傳遞最終字符串的字符串的問題(如 string.format 所示)

所以,我的問題是:如何將復雜的國際化字符串與數據注釋一起使用。

您不能,因為您必須使用能夠用作屬性參數的特定值。

來自MSDN - 屬性教程 C#

屬性參數僅限於以下類型的常量值:

  • 簡單類型(bool、byte、char、short、int、long、float 和 double)
  • 細繩
  • 系統類型
  • 枚舉
  • object(對象類型的屬性參數的參數必須是上述類型之一的常量值。)
  • 任何上述類型的一維數組

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM