Максимальное число: ...
5!
(или 6, если считать unsafe
)
Согласно здесь , объявление класса выглядит следующим образом:
class_declaration
: attributes? class_modifier* 'partial'? 'class' identifier type_parameter_list?
class_base? type_parameter_constraints_clause* class_body ';'?
;
Вы, вероятно, не считаете атрибуты «модификаторами», но, вероятно, будет считать ключевое слово partial
как «модификатор класса» ", хотя это не фактический class_modifier
.
Список class_modifier
:
class_modifier
: 'new'
| 'public'
| 'protected'
| 'internal'
| 'private'
| 'abstract'
| 'sealed'
| 'static'
| class_modifier_unsafe
;
Мы знаем, что самый длинный модификатор доступа - protected internal
, поэтому мы можем игнорировать все модификаторы доступа:
class_modifier
: 'new'
| 'abstract'
| 'sealed'
| 'static'
| class_modifier_unsafe
;
Вы можете выбрать только одно из sealed
, static
и abstract
, поэтому у нас осталось 6 "ключевых слов":
protected
internal
new
sealed
/ static
/ abstract
partial
unsafe
Обратите внимание, что new
и protected internal
могут использоваться только в объявлениях вложенных классов.