¿Inicializando una estructura C# desde F#?
Pregunta
Tengo una estructura C# simple que quiero consumir desde F#:
public struct Stat : IEquatable<Stat>
{
public ulong st_dev;
public long st_blocks;
}
La forma que encontré para hacerlo me parece demasiado C# y mutable:
stbuf <- new Stat()
stbuf.st_blocks <- 0
stbuf.st_dev <- 1
Sin mencionar que en C# me vendría bien el bonito new Stat { st_blocks = 0, st_dev = 1 }
azúcar de sintaxis...
Ahora que me estoy convirtiendo a F#, estoy empezando a ser alérgico al operador de asignación. <-
, Entonces, ¿hay alguna forma de mejorar esto?
Solución
Hay una sintaxis para establecer propiedades o campos mutables en el constructor:
stbuf <- Stat(st_blocks = 0L, st_dev = 1UL)
Tenga en cuenta que no necesita el new
en F# excepto que generalmente se recomienda en IDisposable
cosas.Tenga en cuenta también los sufijos necesarios para especificar literales de los tipos apropiados.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow