-
Notifications
You must be signed in to change notification settings - Fork 1.5k
/
IConfigurationSectionHandler.xml
104 lines (95 loc) · 7.94 KB
/
IConfigurationSectionHandler.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<Type Name="IConfigurationSectionHandler" FullName="System.Configuration.IConfigurationSectionHandler">
<TypeSignature Language="C#" Value="public interface IConfigurationSectionHandler" />
<TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract beforefieldinit IConfigurationSectionHandler" FrameworkAlternate="net-6.0;net-7.0;net-8.0;net-9.0;netstandard-2.0;windowsdesktop-8.0;windowsdesktop-9.0" />
<TypeSignature Language="DocId" Value="T:System.Configuration.IConfigurationSectionHandler" />
<TypeSignature Language="VB.NET" Value="Public Interface IConfigurationSectionHandler" />
<TypeSignature Language="F#" Value="type IConfigurationSectionHandler = interface" />
<TypeSignature Language="C++ CLI" Value="public interface class IConfigurationSectionHandler" />
<TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IConfigurationSectionHandler" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0" />
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Configuration.ConfigurationManager</AssemblyName>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
<AssemblyVersion>4.0.2.0</AssemblyVersion>
<AssemblyVersion>4.0.3.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<TypeForwardingChain>
<TypeForwarding From="System.Configuration.ConfigurationManager" FromVersion="9.0.0.0" To="System" ToVersion="4.0.0.0" FrameworkAlternate="netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1" />
</TypeForwardingChain>
<Interfaces />
<Docs>
<summary>Handles the access to certain configuration sections.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
> [!IMPORTANT]
> <xref: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 [How to: Create Custom Configuration Sections Using IConfigurationSectionHandler](https://learn.microsoft.com/previous-versions/aspnet/ms228056(v=vs.100)). If you use the previous example, please build it with the .NET Framework version 1.0 or 1.1.
In .NET Framework version 2.0 and above, you must instead derive from the <xref:System.Configuration.ConfigurationSection> class to implement the related configuration section handler. You can find an example at [How to: Create Custom Configuration Sections Using ConfigurationSection](https://learn.microsoft.com/previous-versions/aspnet/2tw134k3(v=vs.100)).
Instances of the <xref:System.Configuration.IConfigurationSectionHandler> class must be thread safe and stateless. The <xref:System.Configuration.IConfigurationSectionHandler.Create%2A> method must be callable from multiple threads simultaneously.
Furthermore, the configuration object generated by the <xref:System.Configuration.IConfigurationSectionHandler.Create%2A> 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 <xref:System.Configuration.IConfigurationSectionHandler.Create%2A> method. For example, if the return value of <xref:System.Configuration.IConfigurationSectionHandler.Create%2A> is only a small modification of the parent, actual modifications must be made on a clone of the parent, not the original.
]]></format>
</remarks>
</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" />
<MemberSignature Language="DocId" Value="M:System.Configuration.IConfigurationSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)" />
<MemberSignature Language="VB.NET" Value="Public Function Create (parent As Object, configContext As Object, section As XmlNode) As Object" />
<MemberSignature Language="F#" Value="abstract member Create : obj * obj * System.Xml.XmlNode -> obj" Usage="iConfigurationSectionHandler.Create (parent, configContext, section)" />
<MemberSignature Language="C++ CLI" Value="public:
 System::Object ^ Create(System::Object ^ parent, System::Object ^ configContext, System::Xml::XmlNode ^ section);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Configuration.ConfigurationManager</AssemblyName>
<AssemblyVersion>4.0.2.0</AssemblyVersion>
<AssemblyVersion>4.0.3.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.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>
<param name="parent">Parent object.</param>
<param name="configContext">Configuration context object.</param>
<param name="section">Section XML node.</param>
<summary>Creates a configuration section handler.</summary>
<returns>The created section handler object.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Instances of the <xref:System.Configuration.IConfigurationSectionHandler> class must be thread safe and stateless. The <xref:System.Configuration.IConfigurationSectionHandler.Create%2A> method must be callable from multiple threads simultaneously.
Furthermore, the configuration object generated by the <xref:System.Configuration.IConfigurationSectionHandler.Create%2A> 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 <xref:System.Configuration.IConfigurationSectionHandler.Create%2A>. For example, if the return value of <xref:System.Configuration.IConfigurationSectionHandler.Create%2A> is only a small modification of the parent, actual modifications must be made on a clone of the parent, not the original.
]]></format>
</remarks>
<altmember cref="T:System.Configuration.ConfigurationSection" />
<related type="Article" href="https://learn.microsoft.com/previous-versions/aspnet/2tw134k3(v=vs.100)">How to: Create Custom Configuration Sections Using ConfigurationSection</related>
<related type="Article" href="https://learn.microsoft.com/previous-versions/aspnet/ms228056(v=vs.100)">How to: Create Custom Configuration Sections Using IConfigurationSectionHandler</related>
</Docs>
</Member>
</Members>
</Type>