Вопрос
| Ответ
| Уровень
|
Что означает ключевое слово private?
| Доступ к члену класса, помеченному модификатором private, возможен только из кода в этом же классе.
| Простой
|
Как модифицировать значения private-полей извне класса?
| Напрямую — никак. Надо использовать методы класса, предусмотренные его автором, которые изменят поля, гарантируя целостность данных.
| Простой
|
Что такое отложенная ошибка?
| Это нарушение целостности данных, приводящее к ошибке не в момент нарушения, а намного позже.
| Простой
|
Что такое свойство?
| Это один или два метода: getter и setter, которые можно синтаксически использовать как поле, т.е. получать и присваивать ему значения. В C# синтаксически обращение к свойству выглядит как обращение к полю, но фактически каждое обращение — это вызов getter или setter метода.
| Простой
|
Сколько полей и методов будет сгенерировано компилятором при обработке этого свойства и какой у них будет уровень доступа (private, public)?
public string Name {get; private set;}
| Одно приватное поле, один публичный getter-метод, один приватный setter-метод.
| Средний
|
Как вызвать из одного конструктора другой конструктор, чтобы не дублировать код?
| Использовать «this»
| Средний
|
Что означает, что поле readonly?
| Его значение нельзя модифицировать после того, как отработал конструктор.
| Средний
|
В чем разница между константой и readonly static полем?
| Разное время вычисления значения: const вычисляется в момент компиляции, static поле в процессе работы программы (в момент, когда первый раз понадобился класс, содержащий константу). Значение константы должно быть известно на момент компиляции, поэтому множество допустимых типов сильно ограничено.
| Средний
|
Когда выполняются статические конструкторы?
| До того, как будут использованы статические или динамические поля или методы класса, но не обязательно в самом начале программы.
| Сложный
|