У меня есть следующее в C #:
var timer = new Timer(x => { task.Invoke(); }, state, startDelay, interval);
Я пытаюсь сделать то же самое в F #, и из того, что я вижу в Интернете, есть таймер в System.Threading но есть также таймер в System.Timers и ... они оба называются Timer.
Это не скомпилируется:
let timer = new Timer
(
fun x -> (printfn "hello"),
new Object(),
1000,
5000
)
У меня естьУстановлено, что в System.Threading нужен тот, который нужен, но я не понимаю, в чем дело.
Ошибка здесь:
Program.fs (21, 34): [FS0001] Ожидается, что это выражение будет иметь тип 'unit', но здесь имеет тип '' a * 'b *' c * 'd'
Декомпилятор показывает это:
public Timer(TimerCallback callback, [Nullable(2)] object state, int dueTime, int period)
: this(callback, state, dueTime, period, true)
{
}
Я совсем не понимаю ошибку. Что я делаю не так?