2 // System.ComponentModel.Component.cs
5 // Miguel de Icaza (miguel@ximian.com)
7 // (C) Ximian, Inc. http://www.ximian.com
10 namespace System.ComponentModel {
19 public class Component : MarshalByRefObject, IComponent, IDisposable {
21 IContainer icontainer;
23 EventHandlerList event_handlers;
27 // Component Constructor
34 // Get IContainer of this Component
36 public IContainer Container {
42 protected bool DesignMode {
48 protected EventHandlerList Events {
50 return event_handlers;
54 public virtual ISite Site {
66 // Dispose resources used by this component
68 public virtual void Dispose ()
73 // Controls disposal of resources used by this.
76 // <param name="release_all"> Controls which resources are released</param>
79 // if release_all is set to true, both managed and unmanaged
80 // resources should be released. If release_all is set to false,
81 // only unmanaged resources should be disposed
83 protected virtual void Dispose (bool release_all)
88 // Implements the IServiceProvider interface
90 protected virtual object GetService (Type service)
95 // FIXME: Figure out this one.
97 public event EventHandler Disposed;