Запрос общего использования в F #, в частности, новых T () и ячеек ref - PullRequest
1 голос
/ 10 февраля 2011

Что будет F # эквивалентом этого бита C #:

    public T GetNewItem()
    {
        return new T();
    }

Кроме того, как бы вы вернули new T () в качестве ячейки ссылкидля использования в библиотеке .Net, для которой требуется параметр out или ref?

1 Ответ

5 голосов
/ 10 февраля 2011

Я думаю, что-то настолько простое, как это будет работать:

let getNewItem() = new 'T()

Выводит ограничение конструктора по умолчанию.

let mutable d = getNewItem() //d inferred to be System.DateTime
DateTime.TryParse("1/1/2011", &d)
...