Различие между реализацией интерфейса и применением атрибута в C#

Это могло бы быть глупым вопросом, но я спрошу так или иначе,

Я читал "Демистифицированное ООП: Руководство по Самообразованию Jim Keogh и Mario Giannini" глава 11, которая касается интерфейсов. Примерами в этой книге является C++.

Я заметил, что C++ использует ISerializable для создания класса сериализуемым, который Вы реализовали бы, где как в C# Вы просто приписываете класс с [сериализуемым] атрибутом.

Каково основное отличие здесь? Случается так, что с интерфейсом необходимо обеспечить реализацию, где, как будто Вы приписываете что-то, компилятор разработает реализацию для Вас?

Я предполагаю, что с [сериализуемым] атрибутом платформа .NET использует отражение для создания сериализованного объекта из фактического объекта.

Это сказало, что действительно ли возможно в этом случае иметь [Доступный] атрибут, или использование моей теории выше привычки платформы знают, как на самом деле избавиться от объекта следовательно, необходимо ли сделать это сами?

Было бы благодарно за разъяснение.

21
задан Dmitriy 22 October 2019 в 20:42
поделиться