tengo una clase autogenerada de la importación de un servicio web que contiene algo como esto (abreviado):¿Cómo puedo usar atributos en una propiedad definida en la otra mitad de una clase parcial?
[System.Runtime.Serialization.DataMemberAttribute()]
public System.DateTime StartDate
{
get
{
return this.StartDateField;
}
set { /* implementation prop changed */ }
}
Y quiero añadir un atributo formato MVC a este miembro. Así, en otro archivo que contiene la misma partial class
definición, me gustaría hacer algo como lo siguiente (lo cual es ilegal):
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)]
public DateTime StartDate;
Un método parcial no sirve de nada aquí porque los métodos parciales deben ser privadas, tienen volverá vacía escriba, debe ser un método, etc.
¿Cómo puedo decorar este miembro?
es el segundo fragmento de código supone que es la definición del 'StartDateField' utilizado por la propiedad' StartDate' en su primer fragmento? –
En lugar de utilizar clases parciales para decorar el código generado, debe utilizar el atributo 'MetadataType' con otra clase que refleje la clase generada. ([Pregunta relacionada] (http://stackoverflow.com/questions/2999936/using-dataannotations-with-entity-framework)) –
@ M.Babcock: no, el segundo fragmento está en una clase parcial del mismo nombre que el primero. Es común agregar extensiones a clases autogeneradas de esta manera, pero generalmente solo agrega propiedades/métodos, no los redefine (afaik, no puede). – Abel