Конструктор F # не принимает кортежи?

Я попытался использовать кортеж для создания нового экземпляра класса, определенного в F #. Чтобы воспроизвести проблему, я попробовал следующий код.

type test(x: int, y:int) =
    let distance =
        x * x + y * y |> float |> sqrt
    new (x: int, y:int, z:int) =
        new test(x, y)
let args = 1, 2
let test2 = new test(args)

Он жалуется, что

Ошибка 1 Член или объект конструктор test не занимает 1 аргумент (ы). Обнаружена перегрузка принимая 2 аргумента.

Если я удалю конструктор, отличный от конструктора по умолчанию, все в порядке. Я не понимаю, почему вместо кортежей получается два / три аргумента.

Большое спасибо.

10
задан Brian 9 July 2011 в 22:46
поделиться