Книга: C# для профессионалов. Том II

Отсутствие разделения определения и объявления

Отсутствие разделения определения и объявления

С отсутствием опережающих объявлений в C# связано то, что в C# не существует никакого разделения объявления и определения для любых элементов. Например, в C++ принято описывать класс в заголовочном файле сигнатурой функций членов, а полные определения даны в другом месте:

class CMyClass {
public:
 void MyMethod(); // определение этой функции находится в файле C++,
 // если только MyMethod() не является встраиваемой функцией
 // и т.д.

В C# этого не делают. Методы всегда определяются полностью в определении класса

class MyClass {
 public void MyMethod() {
  // здесь реализация

На первый взгляд может показаться, что это ведет к коду, который труднее читать. Достоинство подхода C++ в этом вопросе в конце концов состоит в том что можно просто просмотреть заголовочный файл, чтобы узнать, какие открытые функции предоставляет класс, не обращаясь к реализации этих функций. Однако это больше не требуется в C#, частично в связи с использованием современных редакторов (редактор Visual Studio.NET позволяет сворачивать реализации методов), а частично в связи с тем, что C# имеет средство автоматического создания документации для кода в формате XML.

Оглавление книги


Генерация: 1.522. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз