Здравствуйте, я новичок в C#, и я пытаюсь сериализовать некоторые данные. У меня есть базовый класс, который реализует ISerializable
и другие подклассы, которые расширяют базовый класс. В моем базовом классе я написал:C# serialization
protected BaseClass(SerializationInfo info, StreamingContext context)
{
if (info == null)
throw new System.ArgumentNullException("info");
}
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.SerializationFormatter)]
public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
{
if (info == null)
throw new System.ArgumentNullException("info");
}
Проблема заключается в том, что когда я запускаю свою программу, я получаю эту ошибку о том, что мои подклассы не помечаются как сериализации. Это большой проект. У меня есть класс учеников class Student : ISerializable
, который является базовым классом, и у меня есть GraduateStudent : Student
и PhDStudent : Student
. Когда я пытаюсь сериализовать список студентов (может быть Student, GraduateStudent или PhDStudent), я получаю ошибку выше. Кроме того, я пытался писать как этот PhDStudent : Student,ISerializable
, но без успеха
Затем отметьте как '[Serializable]' :) –
Я сделал это, но получаю ту же ошибку – user3043278
Мы можем работать только с информацией и примером. Пожалуйста, включите это в приведенный выше пример. – StingyJack