gpt4 book ai didi

c# - 有没有办法将元组重建为兼容类?

转载 作者:IT王子 更新时间:2023-10-29 04:33:25 24 4
gpt4 key购买 nike

给定一个元组 (int, string) v 和一个类 C { int, string },在 C#7 中,实现 C 的 Deconstruct(out int k, out string v) 将允许 ff.:

C c = new C();
(int k, string v) = c;

但反过来似乎不受支持,这样元组就可以“重构”为兼容的类:

(int k, string v) vt = (1, "one");
C c = vt;

我认为如果 C 具有“匹配”C 的 Deconstruct() 参数的构造函数,则应该支持它:

class C
{
public C(int k, string v)
...
}

这可能吗?可用的?计划?我似乎找不到任何相关信息。或者可能是“重构”的可重用代码/技巧?

最佳答案

当然可以。简单地实现一个隐式运算符:

public static implicit operator C((int, string) t) 
=> new C(t.Item1, t.Item2);

不需要一些特殊的Reconstruct 方法,因为该语言已经提供了必要的工具来实现您想要的行为。

关于c# - 有没有办法将元组重建为兼容类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45101152/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com