Вы должны предпочесть этот синтаксис для определения классов
type SampleGame() =
inherit Game()
let mutable spriteBatch : SpriteBatch = null
override this.Initialize() =
spriteBatch <- new SpriteBatch(this.GraphicsDevice)
base.Initialize()
где вы определяете по крайней мере один конструктор как часть определения класса (parens после первого «SampleGame» в приведенном выше коде), а затем затем используете «let» и «do» для инициализации / определения переменных экземпляра и запуска кода для этого конструктора, а затем, наконец, определить методы / свойства / переопределения / и т.д. (В отличие от вашего синтаксиса, у которого нет имени конструктора после имени типа и используется «val» для переменных экземпляра.)