Ответ 1
Нет, аналогичного требования нет.
Да, вы можете это сделать.
Однако считается плохой практикой.
Microsoft StyleCop предупредит вас, если вы это сделаете, но все будет прекрасно компилироваться.
В Java имя файла должно быть именем открытого класса, определенным в этом java файле. Имеет ли С# аналогичное требование? я могу получить файл A.cs, который определяет только открытый класс B внутри? спасибо,
Нет, аналогичного требования нет.
Да, вы можете это сделать.
Однако считается плохой практикой.
Microsoft StyleCop предупредит вас, если вы это сделаете, но все будет прекрасно компилироваться.
Нет, нет требования, чтобы имя файла соответствовало одному публичному классу, определенному в файле. На самом деле, нет необходимости иметь связь между именем содержащего файла и любыми классами, которые определены в файле. Неявным в этом утверждении является то, что даже можно определить более одного класса в том же охватывающем файле (даже если есть несколько классов, которые являются общедоступными, в отличие от Java). Более того, можно определить класс для нескольких файлов, используя partial
.
Лучшей практикой, однако, является определение одного класса для каждого файла и предоставление файлу того же имени, что и определение класса (или структуры и т.д.).
Нет, в С# вам не нужно называть ваш класс таким же, как ваш файл.
В подобной строке вы можете иметь несколько классов public
в файле. Java позволяет вам только один.
Это может быть полезно для определения нескольких открытых перечислений в одном файле. Несколько небольших классов.
Плохая практика заключается в том, чтобы слишком сильно перебросить в один файл.
Возможно, имеется файл A.cs
, который содержит открытый класс B
, но считается плохой практикой.