Simple. Si utilizo:Usar pares clave-valor como parámetros
public void Add(params int[] values)
Entonces puedo usar esto como:
Add(1, 2, 3, 4);
Pero ahora estoy tratando con pares de clave y valor! Tengo una clase de KeyValue para vincular un número entero a un valor de cadena. Así que empiezo con:
public void Add(params KeyValue[] values)
Pero no puedo usar esto:
Add(1, "A", 2, "B", 3, "C", 4, "D");
En cambio, me veo obligado a utilizar:
Add(new KeyValue(1, "A"), new KeyValue(2, "B"), new KeyValue(3, "C"), new KeyValue(4, "D"));
Ewww ... Ya me gusta esto ...
Entonces, ahora uso la función Agregar sin el modificador de params y simplemente paso una matriz predefinida a esta función. Como solo se usa para una inicialización rápida para una prueba, no me preocupa demasiado la necesidad de este código adicional, aunque quiero que el código sea simple de leer. Me encantaría saber un truco para utilizar el método que no puedo usar, pero ¿hay alguna forma de hacerlo sin usar la nueva construcción "KeyValue()"?
¿Sabía que ya hay un 'KeyValuePair'? –
Sí, lo sé. :-) Es el tipo que uso ... –