2014-01-09 4 views
1

У меня есть простой C# структуру, которая я хочу потреблять от F #:Инициализация C# -структуры из F #?

public struct Stat : IEquatable<Stat> 
{ 
    public ulong st_dev; 
    public long st_blocks; 
} 

Как я нашел, чтобы сделать это чувствует слишком C# МОГ и изменяемые мне:

stbuf <- new Stat() 
stbuf.st_blocks <- 0 
stbuf.st_dev <- 1 

Не отметить, что в C# я мог бы использовать хороший new Stat { st_blocks = 0, st_dev = 1 } синтаксис сахар ...

Теперь, когда я получаю преобразован в F #, я начинаю аллергию на оператор присваивания <-, так есть ли способ улучшить это?

ответ

5

Там же синтаксис для задания свойств или изменяемых полей в конструкторе:

stbuf <- Stat(st_blocks = 0L, st_dev = 1UL) 

Обратите внимание, что вам не нужно new в F #, за исключением того, что обычно рекомендуется на IDisposable вещи. Также обратите внимание на суффиксы, необходимые для указания литералов соответствующих типов.

Смежные вопросы