WritableBitmap: компилятор жалуется, что тип не может быть найден, но intellisense может найти - PullRequest
2 голосов
/ 11 ноября 2010

Я изучаю F # путем преобразования программы на C # в F #

Проблема в WritableBitmap, компилятор жалуется, что:
The type tableBitmap is not defined
это код:

module MandelbrotBitmap
open System.Windows.Media
open System.Windows.Media.Imaging

type Mandelbrot(width:int) as this =
    let mutable _width = width
    let mutable _height = 10
    let mutable bitmap = new WritableBitmap( _width, _heights, 96.0, 96.0,
       PixelFormats.Bgr32, None)

    member this.Width 
        with get() = _width
        and set(newVal) = _width <- newVal

* * * * * None в инстанции - это моя попытка заменить null в исходном выражении.
У меня есть PresentationCore и WindowsBase в моих ссылках.WriteableBitmap описывается в этой статье MSDN

Мой вопрос таков; На что жалуется компилятор?

Ответы [ 3 ]

7 голосов
/ 11 ноября 2010

У вас есть два опечатки: WritableBitmap должно быть WriteableBitmap , а _heights должно быть _ height .Кроме того, null и None не являются взаимозаменяемыми, когда вы часто используете классы .NET Framework, вы должны использовать null, который является функцией взаимодействия F #.Еще одна проблема: если вы хотите разбить ваши аргументы по строкам в конструкторе WriteableBitmap, вам нужно убедиться, что следующая строка имеет отступ с отступом new, поскольку пробел в F # имеет большое значение.Вот последний, фиксированный вызов конструктора WriteableBitmap:

new WriteableBitmap( _width, _height, 96.0, 96.0, 
    PixelFormats.Bgr32, null)
2 голосов
/ 11 ноября 2010

в вашем коде несколько опечаток: WriteableBitmap и _ высоты

2 голосов
/ 11 ноября 2010

Это просто опечатка:

let mutable bitmap = new WriteableBitmap( _width, _heights, 96.0, 96.0,
    PixelFormats.Bgr32, None)
...