![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| CasperSC |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 27.11.2009 Репутация: нет Всего: 1 |
Я в своём классе использую таймер в качестве поля и обработчик Tick, ну чтобы каждый экземпляр будильника проверял себя сам на срабатывание. Теперь не работает BinnaryFormater. Дело в том, что я до этого этот класс сериализовывал. Потом в его поля добавил поле Timer и обаботчик Tick ну выполняю в обаботчике определённые действия, но теперь не сохранить класс в файл, абез того мн никак, мне нужно полюбом как-то сохранить клас в файл. Что делать? убирать из класса таймер и пытаться сделать обработчик за пределами класса? Много конечно придётся перписывать или есть другой способ? Вот ошибка:
Объясните пожалуйста кто нибудь, что вообще за беда с этими сериализациями? Что можно сериализовать, класс содержащий только данные? Таймер нельзя, чтоли использовать? |
|||
|
||||
| uranpro |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 571 Регистрация: 7.5.2008 Где: Moscow city Репутация: 1 Всего: 1 |
если написано, то значит нельзя =) напиши свой таймер, или не сохраняй ссылку на него в Serializable классе. сериализовать DateTime и TimeSpan нельзя, используй такой трюк
-------------------- I want a perfect soul |
|||
|
||||
| CasperSC |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 27.11.2009 Репутация: нет Всего: 1 |
Таймер чисто не сериализовывается, а дата до этого сохранялась. Помечал поле public Timer как [NonSerialized] начинает работать сохранение, а вот после загрузки, когда я нажимаю на кнопке будильника "Изменить", то появляется ошибка. То есть из-за того, что таймер не был сериализован. Вообще теперь не знаю, что делать.
|
|||
|
||||
| nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 4 Всего: 26 |
В сериализуемом классе создай метод, помеченный атрибутом OnDeserialized. Этот метод будет вызываться сразу после десериализации. В нем восстанови настройки таймера и других данных , потерянных при сериализации.
-------------------- Жизнь - печальная штука. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |