Estoy tratando de puerto de un c existente # a F # y me estoy quedarse atascado en portar este C# line:F # equivalente de la C# 'objeto' palabra clave
objeto público myInnerOject
Estoy tratando de puerto de un c existente # a F # y me estoy quedarse atascado en portar este C# line:F # equivalente de la C# 'objeto' palabra clave
objeto público myInnerOject
En C# object
es sólo un nombre de tipo que se refiere a System.Object
. En F #, puede usar este nombre de .NET completo o un alias de tipo obj
.
Ahora, con respecto a una declaración de campo, hay varias formas de escribir eso según el contexto. Además, es una buena práctica inicializar todos los campos en F #, por lo que sería útil ver un contexto más grande de su código.
Sin embargo, puede escribir lo siguiente:
type A() =
let mutable (myInnerObj:obj) = null
Esto crea un campo privado myInnerObj
de tipo System.Object
inicializado a null
, que es mutable lata se puede asignar más tarde (myInnerObj <- new Random()
, por ejemplo). Usé el ejemplo con el campo privado, porque los campos públicos generalmente se desaconsejan en .NET.
@Tomas tiene razón. También es posible que desee comprobar fuera de estos blogs:
Ambos blog necesitan iniciar sesión para leer. –
¿eh? no hay inicio de sesión allí. – Brian
Doh! Siempre las cosas simples! Muchas gracias; S - Estoy en la página con el resto de la declaración ... por alguna razón tuve una congelación mental y mis textos f # están prestados a un amigo ... – akaphenom
¡Excelente respuesta - gracias! –