Поскольку lasseespeholt упоминается в его (теперь удаленном?) Ответе, в вашем коде нет ничего плохого, и вам просто нужно добавить ссылку на System.dll
, как предполагает сообщение об ошибке.
Но что происходит?
Вы получаете сообщение об ошибке в этой конкретной строке, потому что это первое место, где компилятор встречает некоторый тип из библиотеки System.dll
(интерфейс ISupportInitialize
, который реализуется TextBlock
) и понимает, что ему нужен ссылка на библиотеку, чтобы понять тип.
Другой способ получить то же сообщение об ошибке - написать:
let x = new TextBlock()
x. // If you get IntelliSense here, you'll see just '<Note>'
// with the same error message as the one you're getting
В этом случае IntelliSense необходимо просмотреть тип (чтобы он мог заполнить завершение элемента).