在C# 7中,我们可以实现一个名为
我想知道微软为什么决定将其实现为"魔法方法"。有这个特别命名的方法,它没有从任何地方继承,如果你正确命名并放置正确的参数,那么你就能将这个对象分配给相应的元组。
我想象一下,设计团队会为此创建一个接口。
像这样的东西:
当然,还需要更多具有不同参数数量的接口。
这种设计选择是否有明显的原因,我有所遗漏吗?
Deconstruct
的方法,当将对象分配给具有匹配类型的元组时,该方法将被调用。我想知道微软为什么决定将其实现为"魔法方法"。有这个特别命名的方法,它没有从任何地方继承,如果你正确命名并放置正确的参数,那么你就能将这个对象分配给相应的元组。
我想象一下,设计团队会为此创建一个接口。
像这样的东西:
public interface IDecontructible<T1>
{
void Deconstruct(out T1 a);
}
public interface IDecontructible<T1, T2>
{
void Deconstruct(out T1 a, out T2 b);
}
public interface IDecontructible<T1, ... ,Tn>
{
void Deconstruct(out T1 a, ... ,out Tn n);
}
当然,还需要更多具有不同参数数量的接口。
这种设计选择是否有明显的原因,我有所遗漏吗?