Я создаю небольшое приложение, которое должно сохранить объект в файле, чтобы сохранить пользовательские данные. У меня есть два вопроса о моей сериализации в этот файл:
-
Объект, который я создаю, имеет некоторые общедоступные свойства и событие. Я добавил атрибут
[Serializable]
к моему объекту, а затем понял, что не могу сериализовать объект с событием в нем. Затем я обнаружил, что могу добавить атрибут выше моего события[field:NonSerialized]
, и он будет работать. Это лучший способ сделать это, или я должен попытаться построить мои объекты Serializable без каких-либо событий внутри? -
Объект, который я сериализую, сохраняет некоторые настройки пользователя в приложении. Эти настройки недостаточно чувствительны, чтобы шифровать их в файле, но я все же не хочу, чтобы их подделывали вручную, не открывая мое приложение. Когда я сериализую свой объект в файл с помощью простого объекта
BinaryFormatter
, используя методSerialize()
, я вижу читаемые имена типов объектов .net в файле, в котором я сохраняю это. Есть ли способ, чтобы кто-то мог перепроектировать это и посмотреть, что можно сохранить, не используя мою программу? Есть ли способ для кого-то создать небольшое приложение и выяснить, как десериализовать информацию в этом файле? Если да, то как я буду скрывать информацию в этом файле?
Есть ли какие-либо другие советы/рекомендации/рекомендации, которые я должен придерживаться при переходе к сериализации объекта в файл в таком сценарии?
Спасибо заранее!