58 lines
2.4 KiB
C#
58 lines
2.4 KiB
C#
|
//------------------------------------------------------------------------------
|
||
|
// <copyright file="IComponent.cs" company="Microsoft">
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
// </copyright>
|
||
|
//------------------------------------------------------------------------------
|
||
|
|
||
|
namespace System.ComponentModel {
|
||
|
using System;
|
||
|
using System.ComponentModel.Design;
|
||
|
using System.ComponentModel.Design.Serialization;
|
||
|
|
||
|
/*
|
||
|
* A "component" is an object that can be placed in a container.
|
||
|
*
|
||
|
* In this context, "containment" refers to logical containment, not visual
|
||
|
* containment. Components and containers can be used in a variety of
|
||
|
* scenarios, including both visual and non-visual scenarios.
|
||
|
*
|
||
|
* To be a component, a class implements the IComponent interface, and provides
|
||
|
* a parameter-less constructor.
|
||
|
*
|
||
|
* A component interacts with its container primarily through a container-
|
||
|
* provided "site".
|
||
|
*/
|
||
|
|
||
|
// Interfaces don't need to be serializable
|
||
|
/// <devdoc>
|
||
|
/// <para>Provides functionality required by all components.</para>
|
||
|
/// </devdoc>
|
||
|
[
|
||
|
#pragma warning disable 0618
|
||
|
RootDesignerSerializer("System.ComponentModel.Design.Serialization.RootCodeDomSerializer, " + AssemblyRef.SystemDesign, "System.ComponentModel.Design.Serialization.CodeDomSerializer, " + AssemblyRef.SystemDesign, true),
|
||
|
#pragma warning restore 0618
|
||
|
Designer("System.ComponentModel.Design.ComponentDesigner, " + AssemblyRef.SystemDesign, typeof(IDesigner)),
|
||
|
Designer("System.Windows.Forms.Design.ComponentDocumentDesigner, " + AssemblyRef.SystemDesign, typeof(IRootDesigner)),
|
||
|
TypeConverter(typeof(ComponentConverter)),
|
||
|
System.Runtime.InteropServices.ComVisible(true)
|
||
|
]
|
||
|
public interface IComponent : IDisposable {
|
||
|
|
||
|
// The site of the component.
|
||
|
/// <devdoc>
|
||
|
/// <para>When implemented by a class, gets or sets
|
||
|
/// the <see cref='System.ComponentModel.ISite'/> associated
|
||
|
/// with the <see cref='System.ComponentModel.IComponent'/>.</para>
|
||
|
/// </devdoc>
|
||
|
ISite Site {
|
||
|
get;
|
||
|
set;
|
||
|
}
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// <para>Adds a event handler to listen to the Disposed event on the component.</para>
|
||
|
/// </devdoc>
|
||
|
event EventHandler Disposed;
|
||
|
}
|
||
|
}
|