Deconstruction is ambiguous
问题 I have a vector class with two deconstruction methods as follows: public readonly struct Vector2 { public readonly double X, Y; ... public void Deconstruct( out double x, out double y ) { x = this.X; y = this.Y; } public void Deconstruct( out Vector2 unitVector, out double length ) { length = this.Length; unitVector = this / length; } } Somewhere else I have: Vector2 foo = ... (Vector2 dir, double len) = foo; This gives me: CS0121: The call is ambiguous between the following methods or