Так что я делаю простой персональный проект в winforms с F #. Мой код работал, но теперь выбрасывает это исключение по-видимому без причины.InvalidOperationException в Fsharp.Core.dll
An unhandled exception of type 'System.InvalidOperationException' occurred in FSharp.Core.dll
Additional information: The initialization of an object or value resulted in an object or value being accessed recursively before it was fully initialized.
Код метода элемент, который в настоящее время вызывается из конструктора формы сама
do
//lots of other constructor code before this point
// render the form
form.ResumeLayout(false)
form.PerformLayout()
form.ReloadGoals
//several other members before here
member form.ReloadGoals =
let x = 10 //crashes on this line
Сайт, где я взял шаблон для проекта я использую this one. К сожалению, я сделал некоторые существенные дополнения к этому.
Я был бы рад опубликовать больше кода, но мне нужно знать, какой код будет иметь значение точно, так как я не совсем уверен и не хочу бояться сообщения в постороннем коде.
Также я не могу найти много документации по System.InvalidOperationException. Каждый раз, когда я нахожу его, он используется как an example исключения you can throw on your own, а не то, что его вызывает.
Не могли бы вы столкнуться с этой проблемой? http://msdn.microsoft.com/en-us/library/ms182331.aspx –
Я ценю идею. У меня нет виртуальных методов, которые я вызываю из конструктора. Все они реализованы. Даже если некоторые из них в значительной степени являются владельцами мест(), как тело метода. –
В коде конструктора вы передаете 'form' любому другому конструктору вашего типа? Это может вызвать исключение, которое вы видите. –