28 вопросов
Практика
Какой механизм компиляции использует .NET для генерических типов, и генерируется ли отдельный машинный код для каждого специализированного типа?
Ты можешь объяснить, можно ли наследоваться от generic класса, и какие там основные моменты и лучшие практики при этом?
Что такое generic type extension method и как его использовать в C#?
Какие отличия в поведении статических полей и методов в generic классах по сравнению с обычными классами?
Как реализуются ковариантность и контравариантность в обобщённых интерфейсах и делегатах в C#, и какие у них основные задачи?
Можно ли нормально использовать генерики в C# вместе с другими важными фишками языка, типа делегатов и атрибутов?
Как ты определяешь generic класс, и чем он отличается от обычного класса? Плюс, как ты можешь применять constraints к type parameters generic класса?
Какая основная цель generics в C#, и чем они выгоднее, чем использование типа object?
Для чего нужно ключевое слово 'this' в C# и как его использовать?
Какую роль играет ключевое слово 'base' в контексте наследования в C#?
Почему исключения в C# представлены как объекты, и как создать свой класс исключений?
Как класс в C# может достичь множественного наследования, если язык его не поддерживает напрямую?
Как C# поддерживает ключевые принципы объектно-ориентированного программирования?
Какие разницы между агрегацией и ассоциацией в объектно-ориентированном программировании, и как ты можешь реализовать каждую из них на C#?
Зачем нужны конструкторы при инициализации объектов и чем они отличаются от статических конструкторов в плане функциональности и использования?
Какая цель и функциональность делегатов в объектно-ориентированном программировании, конкретно в языке C#?
Почему инкапсуляция полей важна в связи с принципами SOLID?
Какая основная разница между абстрактными классами и интерфейсами в C#?
Что такое properties в C#, и чем они отличаются от fields в плане функциональности и использования?
Почему в объектно-ориентированном проектировании часто предпочитают композицию наследованию?
Какие основные различия между интерфейсами и базовыми классами в C#, и чем они отличаются по реализации и наследованию?
Чем перегрузка методов отличается от переопределения методов в C#, и в чём разница в их реализации и назначении?
Может ли класс в C# наследоваться от больше чем одного класса одновременно?
Зачем нужны модификаторы доступа типа 'public', 'private', 'protected' и 'internal' в C#, и как они влияют на доступность членов класса?
В чём разница между классом и экземпляром класса в C#?
Что такое наследование в C#, и как его реализовать с помощью оператора двоеточие?
Как в C# достигается полиморфизм, и какие основные механизмы за этим стоят?
Можешь объяснить, как в C# реализована инкапсуляция и какую роль в этом играют модификаторы доступа?