有一个搜索,并找不到任何这个,所以我认为它可能不可能在目前。添加额外的属性元组c#7
鉴于以下两个元
var a = (a: "1", b: 2);
var b = (c: "2", d: 0.1);
是否有可能对我来说,动态合成/这些对象合并成一个
var c = a + b;
属性的理想的名称有,所以我们仍然可以做以下
var d = c.b + c.d;
我知道我可以做以下埠牛逼这不会对工作是我想达到
var c = (first:a, second:b);
我正在寻找一个通用的解决方案,即我不在乎有多少性能是每个元组。
此外,我知道可能有问题,如发生什么,如果有两个属性具有相同的名称。在这种情况下,我很高兴财产被覆盖或名称被改变,所以它成为了一个例子。
你可能可能有元组的元组,但你为什么要这么做?如果你的模型变得复杂 - 建立一个真正的课程来保存这些值。 – DavidG
我想编写一个流畅的API,可以转发管道数据,同时仍然保持静态类型的属性名称。我知道我可以使用一个动态的,但如果这是可能的这将导致一个非常干净的解决方案。例如,设想一个流畅的测试运行器,它可以管道变量以便重复使用到下一个步骤,向上下文添加更多数据只需要将其他属性合并到元组中。 – jps
@jps这是不可能的,如果你想保留元组成员的名字。只需连接两个元组以获得更大的元组可以用扩展方法完成,但是无法保留名称。如果你想要静态检查名称,你应该真的考虑创建真正的类型而不是依赖元组。 – Kyle