Es uno de los parámetros proporcionados al método CreateMetadata (que se reemplaza si se amplía la compatibilidad con metadatos).¿Qué es el parámetro "Func <object> modelAccessor" para en el DataAnnotationsModelMetadataProvider de MVC?
ModelMetadata CreateMetadata(IEnumerable<Attribute> attributes,
Type containerType,
Func<object> modelAccessor, <<--THIS ONE
Type modelType,
string propertyName)
Yo había asumido que permitía el acceso al propio modelo de objetos (por ejemplo, para el establecimiento de metadatos basado en los valores de modelo), sin embargo cuando intento usarlo para lanzar al modelo de objetos apenas consigo nula.
Entity ent = (Entity)modelAccessor(); // = Null
Si no lo he entendido, ¿alguien puede explicar cuál es su propósito? O alternativamente, ¿cómo usarlo correctamente?
Gracias
Acabo de jugar con esto y el delegado parece ser nulo cuando estoy renderizando un Editor para modelo. ¿Hay alguna forma de obtener el objeto que se está procesando para que pueda tener metadatos dinámicos? – mcintyre321
, ¿hay alguna forma de acceder a la instancia de objeto del contenedor? – Darragh
No como de MVC 3. –