1. Почему нельзя указать модификатор доступа для методов внутри интерфейса? Ответ. По умолчанию они должны быть помечены как общедоступные, чтобы дочерние элементы/методы могли получить к ним доступ.
  2. Обсудите то, что вы узнали на этой неделе, как будто кто-то только что спросил вас. Ответ: Я начинаю активно изучать LINQ, чтобы использовать его в своем программировании на C#.
  3. Можно ли переопределить частный виртуальный метод? Ответ: Нет, кроме того, вы не можете получить доступ к закрытым методам в унаследованных классах.
    Они должны быть защищены в базовом классе, чтобы разрешить любой доступ.
  4. В чем разница между «throw» и «throw ex» в .NET? Ответ: throw используется для генерации текущего исключения, в то время как throw(ex) в основном используется для создания оболочки исключения. . throw(ex) сбросит трассировку стека, поэтому ошибка появится в строке, где написано throw(ex), в то время как throw не сбрасывает трассировку стека и вы получите информацию об исходном исключении.
  5. Что такое атрибуты C# и их значение? Ответ: Атрибуты — это элементы, которые позволяют добавлять в программы декларативную информацию. Эта декларативная информация используется для различных целей во время выполнения и может использоваться во время разработки средствами разработки приложений. Например, есть такие атрибуты, как DllImportAttribute, которые позволяют программе взаимодействовать с библиотеками Win32. Другой атрибут, ObsoleteAttribute, вызывает появление предупреждения во время компиляции, сообщая разработчику, что метод больше не следует использовать. При создании приложений форм Windows существует несколько атрибутов, позволяющих перетаскивать визуальные компоненты в построитель визуальных форм и отображать их информацию в сетке свойств. Атрибуты также широко используются для защиты сборок .NET, заставляя код вызова проверяться на соответствие заранее определенным ограничениям безопасности. Это всего лишь несколько описаний того, как атрибуты используются в программах на C#.
  6. В чем разница между методами «finalize» и «finally» в C#? Ответ: Finalize — этот метод используется для сборки мусора. Поэтому перед уничтожением объекта этот метод вызывается как часть действия по очистке. Наконец — этот метод используется для выполнения кода независимо от того, произошло исключение или нет.
  7. Можем ли мы использовать делегаты для асинхронных вызовов методов в C#? Ответ. Делегаты позволяют вам вызывать синхронный метод асинхронным образом. Когда вы вызываете делегата синхронно, метод Invoke вызывает целевой метод непосредственно в текущем потоке. Если вызывается метод BeginInvoke, общеязыковая среда выполнения (CLR) ставит запрос в очередь и немедленно возвращается вызывающему объекту. Целевой метод вызывается асинхронно в потоке из пула потоков. Исходный поток, отправивший запрос, может продолжать выполняться параллельно с целевым методом. Если метод обратного вызова был указан в вызове метода BeginInvoke, метод обратного вызова вызывается, когда целевой метод завершается. В методе обратного вызова метод EndInvoke получает возвращаемое значение и любые параметры ввода/вывода или параметры только вывода. Если при вызове BeginInvoke не указан метод обратного вызова, EndInvoke можно вызвать из потока, вызвавшего BeginInvoke.
  8. Объясните анонимный тип в С#? Ответ: Анонимный тип, как следует из названия, — это тип, у которого нет имени. C# позволяет создавать объект с ключевым словом new без определения его класса. Неявно типизированная переменная-var используется для хранения ссылок на анонимные типы.