F# equivalente da palavra -chave C# 'objeto'
Pergunta
Estou tentando portar um C# existente para F# e estou ficando preso em portar esta linha C#:
public object myInnerOject
Solução
Em C# object
é apenas um nome de tipo que se refere a System.Object
. Em F#, você pode usar este nome .NET completo ou um alias de tipo obj
.
Agora, em relação a uma declaração de campo - existem várias maneiras de escrever isso dependendo do contexto. Além disso, é uma boa prática inicializar todos os campos em F#, por isso seria útil ver um contexto maior do seu código.
No entanto, você pode escrever isso:
type A() =
let mutable (myInnerObj:obj) = null
Isso cria um campo privado myInnerObj
do tipo System.Object
inicializado para null
, o que é mutável pode ser atribuído mais tarde (myInnerObj <- new Random()
, por exemplo). Usei um exemplo no campo privado, porque os campos públicos geralmente são desencorajados no .NET.
Outras dicas
@Tomas está certo. Você também pode querer conferir estes blogs: