<?xml version="1.0" encoding="utf-8"?> <Type Name="IConfigurationSectionHandler" FullName="System.Configuration.IConfigurationSectionHandler"> <TypeSignature Language="C#" Maintainer="auto" Value="public interface IConfigurationSectionHandler" /> <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IConfigurationSectionHandler" /> <AssemblyInfo> <AssemblyName>System</AssemblyName> <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey> <AssemblyVersion>1.0.3300.0</AssemblyVersion> <AssemblyVersion>1.0.5000.0</AssemblyVersion> <AssemblyVersion>2.0.0.0</AssemblyVersion> <AssemblyVersion>4.0.0.0</AssemblyVersion> </AssemblyInfo> <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement> <Interfaces /> <Docs> <remarks> <attribution license="cc4" from="Microsoft" modified="false" /> <para>Important <see cref="T:System.Configuration.IConfigurationSectionHandler" /> is deprecated in .NET Framework 2.0 and above. But, because it is used internally, it has been kept. You can find an example at <format type="text/html"><a href="07f68a3f-2920-4665-a824-47bda744e662">How to: Create Custom Configuration Sections Using IConfigurationSectionHandler</a></format>. If you use the previous example, please build it with the .NET Framework version 1.0 or 1.1.</para> <para>In .NET Framework version 2.0 and above, you must instead derive from the <see cref="T:System.Configuration.ConfigurationSection" /> class to implement the related configuration section handler. You can find an example at <format type="text/html"><a href="febaca98-c727-4017-95ed-82e2fb6cf234">How to: Create Custom Configuration Sections Using ConfigurationSection</a></format>.</para> <para>Instances of the <see cref="T:System.Configuration.IConfigurationSectionHandler" /> class must be thread safe and stateless. The <see cref="M:System.Configuration.IConfigurationSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)" /> method must be callable from multiple threads simultaneously.</para> <para>Furthermore, the configuration object generated by the <see cref="M:System.Configuration.IConfigurationSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)" /> method must be thread safe and immutable. Because the configuration objects are cached by the configuration system, it is important not to modify the parent argument to the <see cref="M:System.Configuration.IConfigurationSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)" /> method. For example, if the return value of <see cref="M:System.Configuration.IConfigurationSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)" /> is only a small modification of the parent, actual modifications must be made on a clone of the parent, not the original.</para> </remarks> <summary> <attribution license="cc4" from="Microsoft" modified="false" /> <para>Handles the access to certain configuration sections.</para> </summary> </Docs> <Members> <Member MemberName="Create"> <MemberSignature Language="C#" Value="public object Create (object parent, object configContext, System.Xml.XmlNode section);" /> <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance object Create(object parent, object configContext, class System.Xml.XmlNode section) cil managed" /> <MemberType>Method</MemberType> <AssemblyInfo> <AssemblyVersion>1.0.5000.0</AssemblyVersion> <AssemblyVersion>2.0.0.0</AssemblyVersion> <AssemblyVersion>4.0.0.0</AssemblyVersion> </AssemblyInfo> <ReturnValue> <ReturnType>System.Object</ReturnType> </ReturnValue> <Parameters> <Parameter Name="parent" Type="System.Object" /> <Parameter Name="configContext" Type="System.Object" /> <Parameter Name="section" Type="System.Xml.XmlNode" /> </Parameters> <Docs> <remarks> <attribution license="cc4" from="Microsoft" modified="false" /> <para>Instances of the <see cref="T:System.Configuration.IConfigurationSectionHandler" /> class must be thread safe and stateless. The <see cref="M:System.Configuration.IConfigurationSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)" /> method must be callable from multiple threads simultaneously.</para> <para>Furthermore, the configuration object generated by the <see cref="M:System.Configuration.IConfigurationSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)" /> method must be thread safe and immutable. Because the configuration objects are cached by the configuration system, it is important not to modify the parent argument to <see cref="M:System.Configuration.IConfigurationSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)" />. For example, if the return value of <see cref="M:System.Configuration.IConfigurationSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)" /> is only a small modification of the parent, actual modifications must be made on a clone of the parent, not the original.</para> </remarks> <summary> <attribution license="cc4" from="Microsoft" modified="false" /> <para>Creates a configuration section handler.</para> </summary> <returns> <attribution license="cc4" from="Microsoft" modified="false" /> <para>The created section handler object.</para> </returns> <param name="parent"> <attribution license="cc4" from="Microsoft" modified="false" />Parent object.</param> <param name="configContext"> <attribution license="cc4" from="Microsoft" modified="false" />Configuration context object.</param> <param name="section"> <attribution license="cc4" from="Microsoft" modified="false" />Section XML node.</param> </Docs> </Member> </Members> </Type>