Cuando tiene un objeto de dominio que necesita mostrarse como un control de interfaz, como una lista desplegable, ifwdev sugirió crear un método de extensión para agregar un .ToSelectList().Cómo codificar un método de extensión C# para convertir un objeto de Modelo de dominio en un objeto de interfaz?
El objeto de origen es una Lista de objetos que tienen propiedades idénticas a las propiedades .Text y .Value de la lista desplegable. Básicamente, es una lista de objetos SelectList, simplemente no del mismo nombre de clase.
Imagino que podría usar la reflexión para convertir el objeto de dominio en un objeto de interfaz. Alguien tiene alguna sugerencia para el código C# que podría hacer esto? SelectList es una lista desplegable MVC de SelectListItem.
La idea, por supuesto, es hacer algo como esto en la vista:
<%= Html.DropDownList("City",
(IEnumerable<SelectListItem>) ViewData["Cities"].ToSelectList())
por la reflexión, me refiero a leer las propiedades del objeto de origen y coinciden con las propiedades selectlist, devolviendo una lista de selección DropDownList adecuada. –