displayname-Attribut vs. Attribut display
Was ist der Unterschied zwischen DisplayName
Attribut und Display
- Attribut in ASP.NET MVC?
InformationsquelleAutor Ghooti Farangi | 2011-03-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was ist der Unterschied zwischen DisplayName
Attribut und Display
- Attribut in ASP.NET MVC?
InformationsquelleAutor Ghooti Farangi | 2011-03-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beide geben Ihnen die gleichen Ergebnisse, aber der entscheidende Unterschied den ich sehe, ist, dass Sie können nicht geben Sie einen
ResourceType
imDisplayName
Attribut. Ein Beispiel für die in MVC 2, musste man eine Unterklasse derDisplayName
Attribut um Ressource, über die Lokalisierung.Display
Attribut (neu in MVC3 und .NET4) unterstütztResourceType
überlastung als eine "out of the box" - Eigenschaft.InformationsquelleAutor Spock
DisplayName
legt dieDisplayName
in der Modell-Metadaten. Zum Beispiel:und wenn Sie aus Ihrer Sicht die folgenden:
wäre es generieren:
Display
macht das gleiche, aber erlaubt Ihnen auch, andere Metadaten-Eigenschaften wie Name, Beschreibung, ...Brad Wilson hat eine netter blog-post für die Attribute.
Ich hatte Probleme mit PropertyDescriptor abgeleitet und mit Hilfe der Anzeige(name.. beim aufrufen @ - Deskriptor.DisplayName: es funktioniert nur mit DisplayName, nicht Angezeigt(name..).
InformationsquelleAutor Darin Dimitrov
Ich denke, dass die aktuellen Antworten sind zu vernachlässigen, um zu markieren, das eigentliche wichtige und bedeutende Unterschiede und was bedeutet das für die beabsichtigte Verwendung. Während Sie vielleicht arbeiten beide in bestimmten Situationen, weil die Umsetzer errichtet in der Unterstützung für die beiden, Sie haben verschiedene Einsatzszenarien. Beide können mit Anmerkungen versehen von Eigenschaften und Methoden, aber hier sind einige wichtige Unterschiede:
DisplayAttribute
System.ComponentModel.DataAnnotations
namespace in derSystem.ComponentModel.DataAnnotations.dll
MontageDescription
oderShortName
DisplayNameAttribute
System.ComponentModel
namespace inSystem.dll
Die assembly und namespace spricht für die bestimmungsgemäße Verwendung und-Lokalisierung unterstützen, ist die große kicker.
DisplayNameAttribute
hat schon seit .NET 2 und scheint beabsichtigt gewesen, mehr für die Benennung der Entwickler Komponenten und Eigenschaften in die alte Eigenschaft grid, nicht so sehr für die Dinge sichtbar zu Endbenutzern, die möglicherweise müssen Lokalisierung und solche.DisplayAttribute
wurde erst später eingeführt .NET 4 und scheint speziell für die Kennzeichnung Mitglieder von Daten Klassen, die end-Benutzer sichtbar ist, so ist es besser geeignet für DTOs, Organisationen, und andere Sachen mehr. Ich finde es eher bedauerlich, dass Sie begrenzt, so kann es nicht verwendet werden, die auf Klassen aber.EDIT: Sieht aus wie die Letzte .NET-Core-Quelle ermöglicht
DisplayAttribute
verwendet werden, die auf Klassen wie jetzt auch.InformationsquelleAutor Mike Marynowski
Vielleicht ist das spezifisch für .net core, ich fand DisplayName nicht funktionieren würde, aber Display(Name=...) funktioniert. Dies kann sparen Sie jemanden der Fehlersuche beteiligt 🙂
InformationsquelleAutor mattpm