Я ищу способ иметь такую функцию, как:
myFunction({"Key", value}, {"Key2", value});
Я уверен, что есть что-то с анонимными типами, что было бы довольно легко, но я этого не вижу.
Единственное решение, которое я могу придумать, - это иметь параметр "params KeyValuePair [] пары", но в итоге получается что-то похожее на:
myFunction(new KeyValuePair<String, object>("Key", value), new KeyValuePair<String, object>("Key2", value));
Что, правда, намного страшнее.
EDIT:
Чтобы уточнить, я пишу класс "Message" для передачи между двумя разными системами. Он содержит ushort, указывающий тип сообщения, и словарь строки для объекта для «данных», связанных с сообщением. Я хотел бы иметь возможность передавать всю эту информацию в конструкторе, поэтому я могу сделать это:
Agent.SendMessage (новое сообщение (MessageTypes.SomethingHappened, "A", x, "B", y, "C", z)); или аналогичный синтаксис.