e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
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;
|
|
}
|
|
}
|