Files
linux-packaging-mono/mcs/class/System.ServiceModel/Documentation/en/System.ServiceModel/IExtensibleObject`1.xml
Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

74 lines
3.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Type Name="IExtensibleObject&lt;T&gt;" FullName="System.ServiceModel.IExtensibleObject&lt;T&gt;">
<TypeSignature Language="C#" Value="public interface IExtensibleObject&lt;T&gt; where T : IExtensibleObject&lt;T&gt;" />
<TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IExtensibleObject`1&lt;(class System.ServiceModel.IExtensibleObject`1&lt;!T&gt;) T&gt;" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<TypeParameters>
<TypeParameter Name="T">
<Constraints>
<InterfaceName>System.ServiceModel.IExtensibleObject&lt;T&gt;</InterfaceName>
</Constraints>
</TypeParameter>
</TypeParameters>
<Interfaces />
<Docs>
<typeparam name="T">To be added.</typeparam>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement <see cref="T:System.ServiceModel.IExtensibleObject`1" /> to enable aggregation of extensions.</para>
<para>For example, if you are implementing a TreeNode class and want to allow external code to add annotations and methods to some instances of TreeNode, you can have TreeNode implement IExtensibleObject&lt;TreeNode&gt;. This enables code that uses TreeNode to add objects that implement IExtensibleObject&lt;TreeNode&gt; to the <see cref="P:System.ServiceModel.IExtensibleObject`1.Extensions" /> collection.</para>
<para>There are four extensible objects in indigo1:</para>
<list type="bullet">
<item>
<para>
<see cref="T:System.ServiceModel.ServiceHostBase" />
</para>
</item>
<item>
<para>
<see cref="T:System.ServiceModel.InstanceContext" />
</para>
</item>
<item>
<para>
<see cref="T:System.ServiceModel.IContextChannel" />
</para>
</item>
<item>
<para>
<see cref="T:System.ServiceModel.OperationContext" />
</para>
</item>
</list>
<para>For a discussion about how to create extension to work with these objects, see <format type="text/html"><a href="bc88cefc-31fb-428e-9447-6d20a7d452af">Extensible Objects</a></format>.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Enable an object to participate in custom behavior, such as registering for events, or watching state transitions.</para>
</summary>
</Docs>
<Members>
<Member MemberName="Extensions">
<MemberSignature Language="C#" Value="public System.ServiceModel.IExtensionCollection&lt;T&gt; Extensions { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.IExtensionCollection`1&lt;!T&gt; Extensions" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.IExtensionCollection&lt;T&gt;</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets a collection of extension objects for this extensible object.</para>
</summary>
</Docs>
</Member>
</Members>
</Type>