| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > .NET для новичков > Сериализация статического класса |
| Автор: V0fka 21.8.2013, 14:32 | ||
| Привет! Есть статический класс.
И несколько вопросов: 1) в строке, которую я выделил коментом пяовляется ошибка, что писать this нельзя. Есть ли какой-то аналог this-а в статическом классе, т.е. ссылка на сам себя? Или это никому нигде не надо и все пользуются ИмяКласса.ИмяЧлена ? 2) Пробовал вместо this писать UserSetting. Но студия говорит, что UserSetting не является объектом. Я понимаю о чем оно говорит. Можно как-то выйти из положения имея именно статический класс? 3) Имеет ли смысл в статическом классе иметь не статические члены? |
| Автор: diadiavova 21.8.2013, 14:53 |
| Во-первых, классы не сериализуются вообще. Сериализуются объекты, объекты являются экземплярами классов, а у статических классов экземпляров не бывает. Во-вторых, this - не просто ссылка на себя, а ссылка на текущий экземпляр, а у статических классов... ну ты понял |
| Автор: V0fka 21.8.2013, 15:01 |
| В пхп можно обратиться к текущему экземпляру статического класса из самого себя использую ключевое слово self. Думал, может в шарпе что-то такое тоже есть И если не сложно, на 3-й вопросик бы получить ответ. |
| Автор: diadiavova 21.8.2013, 15:29 |
Видимо в пхп само понятие статического класса другое. Мне в принципе непонятно почему класс статический, если у него могут быть экземпляры. Если ты объяснишь мотив, по которому решил сделать класс статическим, то может и можно будет что-то придумать. Нестатические члены могут быть только у экземпляра, а статическй класс ... |
| Автор: diadiavova 21.8.2013, 23:24 | ||||
Чем не устраивают стандартные параметры приложения? http://msdn.microsoft.com/ru-ru/library/bb397750.aspx http://msdn.microsoft.com/ru-ru/library/a65txexh.aspx
Тебе нужен не статический класс, а статическое свойство, возвращающее единственный экземпляр класса. Гугли https://www.google.ru/search?q=singletone&ie=utf-8&oe=utf-8&rls=org.mozilla:ru:official&client=firefox-a&channel=rcs&gws_rd=cr#channel=rcs&fp=4823ff53236cf946&newwindow=1&q=singleton&rls=org.mozilla:ru:official&spell=1. Я именно об этом и написал. У статического класса могут быть только статические члены, поскольку нестатические члены являются членами экземпляра, которых у статического класса просто не может быть.
На самом деле так и я уже несколько раз об этом сказал. |
| Автор: V0fka 22.8.2013, 09:34 | ||||
http://forum.vingrad.ru/forum/topic-371343.html
Что такое singleton я знаю, но почему-то думал, что для этих целей именно статический класс лучше подойдет.
Я может дотошный немного, но хотел для себя уяснить все однозначно |
| Автор: diadiavova 22.8.2013, 10:47 | ||
А почему ты ищешь сохранённые парамеиры в файле конфигурации? Они сохраняются в специальных файлах .settings и находятся где-то в папке аппдата. Нужно смотреть, восстановились они или нет, а не искать в файле. Что до сохранения простых и сложных настроек, то типы, сохраняемые в настройках, должны быть сериализуемыми, деталей не помню, но всё есть в документации по параметрам. Например эту статью неплохо бы прочитать http://msdn.microsoft.com/ru-ru/library/8eyb2ct1.aspx да и вообще связанные топики
|
| Автор: V0fka 23.8.2013, 09:05 |
| diadiavova, спасибо! Во-первых, я действительно не там искал настройки. А во-вторых, они должны были загружаться в программу, но не загружались почему-то. Но в форме, в которой я это делал, и настройки не работали и привязки. Сделал новую форму с тем же функционалом и случилось чудо |