Cómo añadir elementos a un diccionario en su inicialización en C#

11 jun. 2008
Una de las nuevas características de c# 3.0 es la posibilidad de inicializar objetos complejos en el momento que se declaran.

Por ejemplo:

class Coche
{
   public string Marca { get; set; }
   public stirng Modelo { get; set; }
}

Podemos declararlo indicando ya sus propiedades:

Coche c = new Coche {Marca = "Ford", Modelo = "Focus"};

También puedes utilizar esta característica para añadir elementos a una colección en el momento de declararla:

List<Coche> coches = new List<Coche>() {
   new Coche {Marca = "Ford", Modelo="Focus"},
   new Coche {Marca = "Seat", Modelo="Panda"}
}

Lo que no tenía claro hasta ahora es cómo inicializar diccionarios y hoy me ha hecho falta en el proyecto que estoy desarrollando utilizando ASP.NET MVC.

En concreto necesitaba un diccionario de tipo IDictionary<string, object> donde indicarle las propiedades html de un textbox. Este es el resultado:

Dictionary<string, object> d = new Dictionary<string, object> {{"size", 40},{"readonly", "readonly"}};

Como podéis ver, la diferencia con inicializar una colección, es que cada uno de los pares de objetos tienen que englobarse entre corchetes.

Y para que veáis cómo lo he utilizado en mi caso concreto en un "View" del MVC:

<%=Html.TextBox("actividad", new Dictionary<string, object> {{"size", 40},{"readonly", "readonly"}})%>

Espero que os sea de utilidad.



comments powered by Disqus
subir