Чтобы сделать объект "транспортабельным", вы должны его сериализовать. Например, если вы хотите перенести данные объекта с помощью .NET Remoting или веб-служб, вы должны предоставить методы, которые сериализуют данные вашего объекта, сокращая количество экземпляров объекта до переносимого формата, который представляет представление объекта с высокой точностью.
Затем вы также можете взять сериализованное представление, перенести его в другой контекст, например на другой компьютер, и перестроить ваш исходный объект.
При реализации интерфейса ISerializable
класс должен предоставлять метод GetObjectData, который включен в интерфейс, а также специализированный конструктор, который специализируется на приеме двух параметров: экземпляра SerializationInfo и экземпляра StreamingContext.
Если ваши классы не требуют детального контроля состояния своего объекта, вы можете просто использовать атрибут [Serializable]
. Классы, которые требуют большего контроля над процессом сериализации, могут реализовать интерфейс ISerializable.