Prosta. Jeśli używam:Używanie par klucz-wartość jako parametrów
public void Add(params int[] values)
Wtedy mogę to wykorzystać jako:
Add(1, 2, 3, 4);
Ale teraz mam do czynienia z par klucz-wartość! Mam klasę KeyValue, aby połączyć liczbę całkowitą z wartością ciągu. Więc zacznę:
public void Add(params KeyValue[] values)
Ale nie mogę użyć tego:
Add(1, "A", 2, "B", 3, "C", 4, "D");
Zamiast tego, jestem zmuszony do korzystania:
Add(new KeyValue(1, "A"), new KeyValue(2, "B"), new KeyValue(3, "C"), new KeyValue(4, "D"));
Ewww ... Już Nie lubię to ...
Tak, teraz używam funkcji Dodaj bez modyfikatora params i po prostu przekazuję predefiniowaną tablicę do tej funkcji. Ponieważ jest używany tylko do szybkiej inicjalizacji testu, nie martwię się zbytnio o ten dodatkowy kod, chociaż chcę, aby kod był łatwy do odczytania. Chciałbym znać sztuczkę, aby użyć metody, której nie mogę użyć, ale czy jest jakiś sposób, aby to zrobić bez użycia "nowej konstrukcji KeyValue()"?
Wiesz, że istnieje już 'KeyValuePair'? –
Tak, wiem. :-) To jest typ, którego używam ... –