"новое" ключевое слово, вызывающее красный закорючка
Интересно, что здесь происходит...
Я только что создал новое пустое консольное приложение F# в Visual Studio 2013 (с использованием F# 3.1 и.NET 4, FSharp.Core версии 4.3.1.0) и добавил основную библиотеку Reactive Extensions с помощью Nuget: Install-Package Rx-Main
Теперь проверьте это:
Это работает и парящий над тестовыми шоу val test: unit -> System.Reactive.Subjects.Subject<'a>
, Как и ожидалось. Затем я добавил new
ключевое слово.
Интересно. Кто-нибудь знает, почему добавление new
ключевое слово нарушает код? Для справки, если дополнительно указать параметр типа, он работает:
2 ответа
Я не могу найти ссылку на спецификацию, но при использовании new
явные аргументы типа обязательны. Вам нужно сделать:
let test() = new System.Reactive.Subjects.Subject<_>()
Похоже, что это статический класс, и статические классы не могут быть обновлены.
http://msdn.microsoft.com/en-us/library/system.reactive.subjects.subject%28v=vs.103%29.aspx
А для уточнения вашего конкретного сообщения об ошибке это означает, что нет общедоступного доступного конструктора, который принимает 0 параметров. Насколько я знаю, статические классы имеют только частные конструкторы без параметров.