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