Deseo establecer un atributo en una propiedad pública en .NET; sin embargo, no tengo acceso a la propiedad explícita en sí misma, ya que este ha sido generado en otro archivo.Atributo asociado con propiedad de código generado en .net
tengo este campo:
public virtual string Name { get; set; }
deseo de establecer esto:
[ValidateNonEmpty("Name is required", ExecutionOrder = 1)]
public virtual string Name { get; set; }
Mi clase está marcado como parcial, pero no se puede tener propiedades parciales. Pensé que estaba trabajando en algo con la clase MetadataType, que es una nueva característica de Dynamic Data y DataAnnotations, pero lamentablemente creo que solo se puede usar con Dynamic Data, ¿es así?
Citas: 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
¿Hay alguna manera de poder establecer estos atributos (incluso a través de web.config!) Sin tocar el código generado clase?
Gracias de antemano, Graham
Gracias Marc, pensé que esto podría ser el caso:
original de código generado. He logrado iterar a través de las propiedades de mi clase declarada "MetadataType", en el momento en que deseo consultar los atributos, y simplemente comparo el nombre de la propiedad "meta" con la propiedad real. – GONeale
No es lo mismo que consultar los atributos verdaderos, lo entiendo, pero para lo que necesito parece que servirá para el propósito en este caso. Lo cual es genial. – GONeale
Espero que esto tenga sentido. Ahora puedo ver si se declaró un atributo de validación y trabajar en consecuencia. Ahora solo espero que no exista una sobrecarga en la utilización de la clase de atributo 'MetadataType' en lugar de hacer la mía que simplemente le dice en qué clase buscar las propiedades. – GONeale