Мне интересно, какие части System
являются языковыми функциями (основными компонентами), а какие части являются просто полезным наполнителем, но не являются строго необходимыми. Возможно, я не согласен с формулировкой, поэтому позвольте мне проиллюстрировать примером, что я имею в виду.
Рассмотрим класс System.Console
, очевидно, что-то, что используется для чего-то особого. В сущности, эта вещь есть, чтобы играть хорошо с особенностью Windows/текущей ОС. Это не то, что я бы назвал основным компонентом языка.
С другой стороны, возьмите интерфейс System.IDisposable
. Эта вещь, очевидно, очень важна, так как без нее утверждение using()
бесполезно. Класс должен реализовать этот конкретный интерфейс для функции языка, в которую нужно входить.
Я мог предположить, что mscorlib
является ответственной стороной здесь. Быстрый взгляд с Object Explorer показывает, что в нем действительно много компонентов, с которыми я могу согласиться, является основным, и в то же время он кладет класс Console
в пространство имен System, которое является просто наполнителем.
Это понятие размещения объектов наполнителя и языка в одном пространстве имен приравнивает их, но для более глубокого понимания С# я хотел бы знать, что есть. Итак, я ищу список основных компонентов С#. Я предполагаю, что где-то есть полезная ссылка, но, поскольку я спал во время лекции Google, я не смог сформировать правильный запрос, чтобы найти его.
Спасибо заранее.
Много позже EDIT Я прочитал this Lippert blog post, это своего рода. Интересно, что конструкция foreach
фактически не требует интерфейса IEnumerable
.