Это может быть глупый вопрос, но я все равно задам,
Я читал главу 11 «Описано ООП: самоучитель Джима Кеога и Марио Джаннини», в которой рассматриваются интерфейсы. Примеры в этой книге: C ++.
Я заметил, что C ++ использует ISerializable для создания сериализуемого класса, который вы реализуете, где, как в C #, вы просто приписываете класс с атрибутом [Serializable].
В чем здесь ключевое отличие? Неужели с интерфейсом вы должны предоставить реализацию, где, как будто вы что-то приписываете, компилятор разработает реализацию для вас?
Я предполагаю, что с атрибутом [Serializable] .Net Framework использует отражение, чтобы сделать сериализованный объект из фактического объекта.
Тем не менее, возможно ли в этом случае иметь атрибут [Disposable] или, используя мою теорию выше рамок, не будет знать, как на самом деле избавиться от объекта, следовательно, вам придется делать это самостоятельно?
Буду признателен за разъяснения.
Спасибо.