2016-05-04 5 views
2

Ich bin ein Student und Anfänger Entwickler.Verwenden von Daten-Annotationen mit Resources.Messages C#

Ich bin auf einem Projekt an meinem Arbeitsplatz .. und ich verwende Datenanmerkungen für die Validierung ... aber ich muss Resources.Messages verwenden, um dynamische Fehlermeldungen zu implementieren. Hier geht ein Beispiel dafür, was ich versuche zu tun:

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

In diesem Szenario Parameter fehlt, ist die Folge string „Der Parameter {0} ist erforderlich“ und Messages.Ad ist eine Zeichenfolge mit dem internacionalized Feld .

Soo, wenn ich Daten Annotation verwenden, gibt es ein paar Lösungen, wie die ErrorResource mit ... (wie dieses Beispiel Regular ->Why can't I use resources as ErrorMessage with DataAnnotations?)

Aber diese das Problem der Weitergabe Strings betrachten, die verwenden Parameter zur Ausgabe der letzten Zeichenfolge (wie in string.format dargestellt)

Meine Frage ist also: Wie komplexe Internationalisierungszeichenfolgen mit Daten Anmerkungen verwenden.

Antwort

1

Sie können nicht, weil Sie bestimmte Werte verwenden müssen, die als Attributparameter verwendet werden können.

Von MSDN - Attributes Tutorial C#:

Attribut Parameter beschränkt sind auf konstante Werte der folgenden Typen:

  • Einfache Typen (Bool, Byte, char, short, int, long, float und double)
  • Zeichenfolge
  • System.Type
  • enums
  • Objekt (das Argument ein Attributparameter des Typ Objekt muss ein konstanter Wert von einem der oben genannten Typen sein.)
  • eindimensionale Arrays von einem der oben genannten Typen