私は次のような機能を持つ方法を探しています:
myFunction({"Key", value}, {"Key2", value});
匿名タイプでかなり簡単なものがあると確信していますが、私はそれを見ていません。
私が考えることができる唯一の解決策はparams KeyValuePair<String, object>[] pairs
パラメータを持つことですが、それは最終的に次のようなものになります:
myFunction(new KeyValuePair<String, object>("Key", value),
new KeyValuePair<String, object>("Key2", value));
確かに、これははるかに醜いです。
編集:
明確にするために、私はMessage
2つの異なるシステム間を通過するクラスを書いています。これにはushort
、メッセージタイプの指定と、メッセージに関連付けられた「データ」のオブジェクトとなる文字列の辞書が含まれています。コンストラクターでこのすべての情報を渡せるようにしたいので、これを行うことができます。
Agent.SendMessage(new Message(MessageTypes.SomethingHappened, "A", x, "B", y, "C", z));
または同様の構文。