Esempio n. 1
0
        public void Unregister(IComponentContainer cont)
        {
            ComponentContainer container = (ComponentContainer)cont;

            foreach (IComponent component in container.Components)
            {
                component2Owner.Remove(component);
                foreach (Type type in ComponentContainer.GetDerivedTypes(component))
                {
                    componentType2ComponentInstances[type].Remove(component);
                    componentType2ContainerInstances[type].Remove(container);
                }
            }
            container.ClearComponents();
            containers.Remove(cont);
        }