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