Это очень неприятная и причудливая проблема, и я был бы признателен за любой совет, как ее решить.
У меня есть объект с закрытой переменной:
private DateTime _maturityDate = DateTime.MaxValue;
Имеет соответствующее свойство:
public DateTime MaturityDate { get; set; }
У меня есть метод, который обновляет данные в базе данных, называемый UpdateInstrumentBase (). Свойство устанавливается из элемента управления DateTimePicker в форме Windows. Он устанавливается через код, а не через привязку данных:
((Instrument)instrumentBS.DataSource).MaturityDate = dateTimePicker9.Value;
Это правильно устанавливает значение:
(я не могу публиковать изображения, поэтому вам придется поверить мне, что это так)
Однако - и это действительно странная проблема - когда вы шагаете ВНУТРИ объекта, это то, что свойство установлено. Даже попытка вывести его в непосредственном окне или с помощью console.writeline приводит к следующему:
? _maturityDate {System.DateTime}
Дата: Невозможно оценить выражение, потому что поток остановлен в точке
где сборка мусора
невозможно, возможно, потому что код
оптимизирован.
Я попытался передать значение даты в виде строки, а затем преобразовать в DateTime в качестве временного решения, но любой доступ к ANY свойству или переменной DateTime - не только этому - внутри этого объекта приводит к этому ошибка. Я искал высоко и низко, но я даже не уверен, является ли это сообщение об ошибке уместным или полезным.
Я использую .NET Framework 3.5 SP1 в Visual Studio 2008 версии 9.0.21022.8, если это актуально.
Я в тупике. Объект довольно сложный, поэтому я не решаюсь опубликовать все это, но если у кого-то есть какие-либо идеи, я выложу соответствующий код.
Огромное и доброе спасибо заранее!