Mam wygenerowany automatycznie klasę z importem usługę internetową zawierającą coś takiego (w skrócie):Jak używać atrybutów dla właściwości zdefiniowanej w drugiej połowie częściowej klasy?
[System.Runtime.Serialization.DataMemberAttribute()]
public System.DateTime StartDate
{
get
{
return this.StartDateField;
}
set { /* implementation prop changed */ }
}
I chcę dodać atrybut formatu MVC do tego członka. Więc w innym pliku zawierającego tę samą partial class
definicję, chciałbym zrobić coś jak następuje (co jest nielegalne):
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)]
public DateTime StartDate;
Częściowa metoda jest bezużyteczna tutaj, ponieważ metody cząstkowych musi być prywatne, mają void powrót typ, musi to być metoda itp.
Jak mogę udekorować tego członka?
jest drugi fragment kodu miało być zdefiniowanie 'StartDateField' używany przez' własności StartDate' w pierwszym fragmencie? –
Zamiast używać klas częściowych do dekoracji wygenerowanego kodu, powinieneś używać atrybutu 'MetadataType' z inną klasą, która odzwierciedla wygenerowaną klasę. ([Powiązane pytanie] (http://stackoverflow.com/questions/2999936/using-dataannotations-with-entity-framework)) –
@ M.Babcock: nie, drugi fragment jest w częściowej klasie o tej samej nazwie co pierwszy. Powszechne jest dodawanie rozszerzeń do klas automatycznie generowanych w ten sposób, ale zazwyczaj dodajesz tylko właściwości/metody, nie zmieniając ich na nowo (afaik, nie możesz). – Abel