これで何かを見つけることができないので、現時点では不可能かもしれないと思っています。タプルC#7に追加プロパティを追加
を考えると、次の2つのタプル
var a = (a: "1", b: 2);
var b = (c: "2", d: 0.1);
それは私が動的ので、我々はまだやることができます維持されているプロパティの理想的名を/構成する1
var c = a + b;
にこれらのオブジェクトをマージすることは可能です次のとおりです
var d = c.b + c.d;
私は次のようなことができると知っていますこれは私が
var c = (first:a, second:b);
を達成したいもののために動作しませんT Iはつまり、私は、各タプルにあるどのように多くの性質を気にしない、一般的な解決策を探しています。
さらに、同じ名前のプロパティが2つあるとどうなるかなどの問題がある可能性があります。このようなシナリオでは、プロパティが上書きされるか、名前が変更されることに満足しているので、たとえばa_1になりました。
タプルのタプルがある可能性がありますが、なぜそれをしたいのですか?あなたのモデルが複雑になっている場合は、代わりに値を保持する実クラスを作成してください。 – DavidG
静的に型指定されたプロパティ名を維持しながらパイプデータを転送できる流暢なAPIを作成したいと思います。私はダイナミックを使用することができることを知っていますが、可能であれば、これは非常にきちんとした解決策につながります。たとえば、再利用のための変数を次のステップにパイプすることができる流暢なテストランナーを想像してください。コンテキストにデータを追加するだけで、追加のプロパティをタプルにマージすることになります。 – jps
@jpsタプルメンバー名を保持したい場合は、これは不可能です。より大きなタプルを得るために2つのタプルを連結するだけで、拡張メソッドで行うことができますが、名前を保持する方法はありません。静的にチェックされた名前が必要な場合は、タプルに頼るのではなく、実際の型を作成することを考えなければなりません。 – Kyle