Имам клас, който използва обект serializer за сериализиране на свойства. Класът е получен от друг клас, както следва
[Serializable]
public class TargetInfo:
PropertyHandler
Когато се обадя на serialize метод, serializerсе опитва да сериализира класа PropertyHandler и изхвърля различни изключения, тъй като Class PropertyHandler не отговаря на правилата за сериализиране. Как мога да избегна serialization на PropertyHandler и да сериализирам само TargetInfo?
Всяка помощ / идеи ще бъде много ценена.
Благодаря
Отговори:
2 за отговор № 1Имате няколко опции ... ако искате да сериализирате клас, който разширява базовия клас, а след това базовия клас трябва да също да бъдат маркирани с Serializable
атрибут. Можете обаче да добавитеNonSerialized
атрибут на членовете на базовия клас, които правите не искате да бъдете сериализирани.
Ако това е така все още не е точно за вас, можете да опитате някои персонализирани сериализация чрез прилагане на ISerializable
интерфейс, осигуряващ ви повече контрол над точно това, което е сериализирано. Моля, разгледайте Сериализиране на обекта в .NET Framework страница в MSDN за повече помощ по този въпрос.