Имя файла C # .cs и имя класса должны совпадать?

StackOverflow https://stackoverflow.com/questions/2224653

  •  19-09-2019
  •  | 
  •  

Вопрос

В Java имя файла должно быть именем открытого класса, определенного в этом java-файле.Есть ли в C # аналогичные требования?могу ли я иметь файл A.cs, который определяет только открытый класс B внутри?Спасибо,

Это было полезно?

Решение

Нет, подобного требования нет.

Да, вы можете это сделать.

Однако это считается плохой практикой.

Microsoft StyleCop предупредит вас, если вы сделаете это, но все будет скомпилировано нормально.

Другие советы

Нет, не требуется, чтобы имя файла соответствовало одному общедоступному классу, определяемому в файле.На самом деле, нет необходимости иметь связь между именем содержащего файла и любыми классами, которые определены в файле.Подразумевается, что в этом утверждении даже возможно определить более одного класса в одном и том же вложенном файле (даже если существует несколько общедоступных классов, в отличие от Java).Более того, можно определить класс для нескольких файлов, используя partial ключевое слово.

Однако наилучшей практикой является определение одного класса для каждого файла и присвоение файлу того же имени, что и определяемый класс (или структура и т.д.).

Нет, в C # вам не обязательно называть свой класс так же, как ваш файл.

Аналогично, у вас может быть несколько public классы в файле on.Java позволяет вам иметь только один.

Это может быть полезно для определения нескольких общедоступных перечислений в одном файле.Из нескольких небольших классов.

Однако это плохая практика - помещать слишком много данных в один файл.

Возможно, у вас есть файл A.cs который содержит открытый класс B но это считается плохой практикой.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top