F # не позволяет вам молча игнорировать возвращаемые значения. Тип unit
- это версия F # void
. Таким образом, ошибка говорит по существу
Я ожидал, что заявление не имеет никакого возврата, но вместо этого он возвращает целочисленное значение
или наоборот. Я неправильно читаю это сообщение об ошибке.
Что, вероятно, происходит это одна из следующего
- Метода в вопросе ожидает
int
возвращаемого значения, но метод Add
возвращает пустой, следовательно, F # просто просим для возвращаемого значения
- Метода в вопросе набирается как
unit
, но Add
возвращает int
, а F # вам нужно игнорировать значение.
GetCapture
или ToWpfImage
возвращаемые значения, которые должны быть явно обработаны.
В течение последних 2-х случаях вы можете исправить это, передавая значение в ignore
функции
mtvCap.GetCapture() |> ignore
mtvCap.ToWpfImage() |> ignore
grid.Children.Add(mtvCap.ImageElement) |> ignore
После покопаться немного я считаю, # 2 является проблемой, потому что UIElementCollection.Add
возвращает int
значение. Попробуйте изменить окончательную строку так, чтобы это выглядело так:
grid.Children.Add(mtvCap.ImageElement) |> ignore
Bravo! Большинство разработчиков потеряли бы время перезаписи. Я рад видеть, что вы поступаете правильно: изучая технологию. – pblasucci