/ / използване на серийния атрибут с базовия клас само в декларацията за клас - c #, wpf, наследяване, xml-сериализация, обект-сериализация

използвайки атрибут Serializable с базов клас само в декларацията клас - c #, wpf, наследяване, xml-serialization, обект-сериализация

Имам клас, който използва обект serializer за сериализиране на свойства. Класът е получен от друг клас, както следва

[Serializable]
public class TargetInfo:
PropertyHandler

Когато се обадя на serialize метод, serializerсе опитва да сериализира класа PropertyHandler и изхвърля различни изключения, тъй като Class PropertyHandler не отговаря на правилата за сериализиране. Как мога да избегна serialization на PropertyHandler и да сериализирам само TargetInfo?

Всяка помощ / идеи ще бъде много ценена.

Благодаря

Отговори:

2 за отговор № 1

Имате няколко опции ... ако искате да сериализирате клас, който разширява базовия клас, а след това базовия клас трябва да също да бъдат маркирани с Serializable атрибут. Можете обаче да добавитеNonSerialized атрибут на членовете на базовия клас, които правите не искате да бъдете сериализирани.

Ако това е така все още не е точно за вас, можете да опитате някои персонализирани сериализация чрез прилагане на ISerializable интерфейс, осигуряващ ви повече контрол над точно това, което е сериализирано. Моля, разгледайте Сериализиране на обекта в .NET Framework страница в MSDN за повече помощ по този въпрос.