Desidero impostare un attributo su una proprietà pubblica in .NET, tuttavia non ho accesso alla proprietà esplicita stessa, poiché questo è stato generato in un altro file.Associare l'attributo con la proprietà generata dal codice in .net
ho questo campo:
public virtual string Name { get; set; }
desidero impostare questo:
[ValidateNonEmpty("Name is required", ExecutionOrder = 1)]
public virtual string Name { get; set; }
La mia classe è contrassegnata come parziale, ma non si può avere proprietà parziali. Pensavo di fare qualcosa con la classe MetadataType che è una nuova funzionalità di Dynamic Data e DataAnnotations, ma purtroppo credo che possa essere utilizzata solo con Dynamic Data, è vero?
Citazioni: http://blogs.oosterkamp.nl/blogs/jowen/archive/2008/10/16/metadatatype-attribute.aspx http://blogs.msdn.com/davidebb/archive/2008/06/16/dynamic-data-and-the-associated-metadata-class.aspx
C'è un modo posso impostare questa attributi (anche attraverso web.config!) Senza toccare la classe codice generato?
Grazie in anticipo, Graham
Grazie Marc, ho pensato che questo potrebbe essere il caso. Sono riuscito a scorrere le proprietà della mia classe dichiarata "MetadataType", al punto in cui volevo informarti sugli attributi, e ho semplicemente confrontato il nome della proprietà "meta" con la proprietà reale. – GONeale
Non è lo stesso che interrogare gli attributi veri, capisco, ma per quello che mi serve sembra che serva allo scopo in questo caso. Che è grandioso. – GONeale
Speriamo che questo abbia senso. Ora posso vedere se un attributo di convalida è stato dichiarato e funziona di conseguenza. Ora spero solo che non ci sia un sovraccarico con me che utilizza la classe di attributi 'MetadataType' invece di crearne una che gli dica semplicemente su quale classe guardare le proprietà. – GONeale