C# Пользовательский пользовательский класс настроек, не сохраняющий

Переданный под мандат зависящий от реализации путь единственного стандарта состоит в том, чтобы использовать эти system() функция от stdlib.h.

Также, если Вы знаете, как заставить пользователя стать суперпользователем, который был бы хорош также.

Вы хотите, чтобы сценарий работал как суперпользователь, или Вы хотите поднять полномочия исполняемого файла C? Первый может быть сделан с sudo, но существует несколько вещей, которые необходимо знать, прежде чем можно будет уйти с помощью sudo.

5
задан Michael Todd 24 September 2009 в 22:56
поделиться

3 ответа

Это не работает, потому что цвет и шрифт не могут быть сериализованы по xml. Более того, в Font нет конструктора без параметров, поэтому Settings.Save () не может сериализовать ваш объект и ничего не сохраняет.

К сожалению, по умолчанию инфраструктура в классе SettingsBase (от которого наследуется ваш класс Settings - см. Автоматически сгенерированный код в файле Settings.Designer.cs ) не генерирует исключение при ошибке сериализации, поэтому вы не видите проблема.

Удалите свойства шрифта и цвета из вашего класса и попробуйте снова.

Другое решение

Другое решение - использовать двоичную сериализацию. Откройте файл Settings.Designer.cs и добавьте атрибут [SettingsSerializeAs (SettingsSerializeAs.Binary)] в свойство Settings.MainHeadlineTextData .

10
ответ дан 18 December 2019 в 14:48
поделиться
  • Обратите внимание, что если вы выполните полную перекомпиляцию, приложение получит новую версию внутри, поэтому оно ищет настройки в другой папке - и, конечно, не найдет ничего и создаст новую версию по умолчанию.
  • При сохранении данных исключение не генерируется?
  • Если вы вставляете точку останова в конструктор TextData, она вызывается при загрузке приложения?
1
ответ дан 18 December 2019 в 14:48
поделиться

Чтобы сохранить классы в файле конфигурации настроек приложения, класс должен либо поддерживать TypeConverter, либо быть XMLSerializable.

Ваш код не реализует TypeConverter для вашего пользовательского класса, а классы Color и Font не являются XMLSerialiable.

Как реализовать преобразователь типов: http://msdn.microsoft.com/en-us/library/ayybcxe5%28VS.80%29.aspx

2
ответ дан 18 December 2019 в 14:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: