IL определяет вещи иначе, чем C #;в IL есть видимость и доступность .Подробности этого приведены в II.10.1 и таблице II.10.1.1 ECMA 335. Единственными двумя действительными вариантами для типов верхнего уровня являются public
и private
- все остальное относится к nested *
, то есть типам вТипы.
По сути, он делает это , потому что спецификация требует этого :
Тип, который не вложен в другой тип, должен иметь ровно одну видимость ( private или public ) и не должны иметь доступа.
Не существует такой вещи, как assembly
или family
для типов верхнего уровня.