В общем, существует пространство имен System.ComponentModel
для поддержки разработки компонентов - компоненты могут быть визуальными (элементы управления) и невизуальными.ИМО, нужно разрабатывать Компоненты (в этом контексте IComponent
реализации), когда требуется поддержка времени разработки.Например, вы можете перетащить Компоненты в область дизайна в Visual Studio и получить доступ к их свойствам.В этом контексте IContainer
& Container
представляет держатель, который будет содержать один или несколько компонентов.Я серьезно сомневаюсь, если вам нужно использовать System.ComponentModel.Container
напрямую - этот класс будет использоваться .NET Framework и Visual Studio (или другими инструментами дизайнера) для внутреннего использования.Что касается кода, который вы увидели, он выглядит довольно устаревшим и, в этом отношении, он даже не создает экземпляр класса Component (создается просто ссылка).