Ich habe eine automatisch generierte Klasse von einem Web-Service zu importieren so etwas wie diese, die (abgekürzt):Wie kann ich Attribute für eine Eigenschaft verwenden, die in der anderen Hälfte einer partiellen Klasse definiert ist?
[System.Runtime.Serialization.DataMemberAttribute()]
public System.DateTime StartDate
{
get
{
return this.StartDateField;
}
set { /* implementation prop changed */ }
}
Und ich möchte dieses Mitglied ein MVC-Format Attribut hinzufügen. So in einer anderen Datei die gleiche partial class
Definition enthält, würde Ich mag so etwas wie die folgenden tun (was illegal ist):
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)]
public DateTime StartDate;
Eine partielle Methode ist hier nicht von Nutzen, da teilweise Methoden privat sein muss, haben nichtig Rückkehr Typ, muss eine Methode usw. sein usw.
Wie kann ich dieses Mitglied dekorieren?
Ist der zweite Code soll Snippet die 'StartDateField' durch die' StartDate' Eigenschaft in Ihrem ersten Schnipsel verwendet werden zu definieren? –
Anstatt Teilklassen zu verwenden, um Ihren generierten Code zu dekorieren, sollten Sie das Attribut 'MetadataType' mit einer anderen Klasse verwenden, die die generierte Klasse spiegelt. ([Verwandte Frage] (http://stackoverflow.com/questions/2999936/using-dataannotations-with-entity-framework)) –
@ M.Babcock: Nein, das zweite Snippet ist in einer Teilklasse mit dem gleichen Namen wie Der Erste. Es ist üblich, Erweiterungen zu automatisch generierten Klassen auf diese Weise hinzuzufügen, aber normalerweise fügen Sie nur Eigenschaften/Methoden hinzu, die Sie nicht neu definieren (afaik, Sie können nicht). – Abel