forked from dotnet/docs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCSharpCodeProvider.xml
299 lines (274 loc) · 15.5 KB
/
CSharpCodeProvider.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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
<Type Name="CSharpCodeProvider" FullName="Microsoft.CSharp.CSharpCodeProvider">
<TypeSignature Language="C#" Value="public class CSharpCodeProvider : System.CodeDom.Compiler.CodeDomProvider" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit CSharpCodeProvider extends System.CodeDom.Compiler.CodeDomProvider" />
<TypeSignature Language="DocId" Value="T:Microsoft.CSharp.CSharpCodeProvider" />
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.CodeDom</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.CodeDom.Compiler.CodeDomProvider</BaseTypeName>
</Base>
<Interfaces />
<Docs>
<summary>Provides access to instances of the C# code generator and code compiler.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This class provides methods that can be used to retrieve instances of the C# <xref:System.CodeDom.Compiler.ICodeGenerator> and <xref:System.CodeDom.Compiler.ICodeCompiler> implementations.
> [!NOTE]
> This class contains a link demand and an inheritance demand at the class level that applies to all members. A <xref:System.Security.SecurityException> is thrown when either the immediate caller or the derived class does not have full-trust permission.
## Examples
The following example uses either the C# or Visual Basic code provider to compile a source file. The example checks the input file extension and uses the corresponding <xref:Microsoft.CSharp.CSharpCodeProvider> or <xref:Microsoft.VisualBasic.VBCodeProvider> for compilation. The input file is compiled into an executable file, and any compilation errors are displayed to the console.
[!code-csharp[CodeDom_CodeProviders#1](~/samples/snippets/csharp/VS_Snippets_CLR/CodeDom_CodeProviders/CS/source.cs#1)]
[!code-vb[CodeDom_CodeProviders#1](~/samples/snippets/visualbasic/VS_Snippets_CLR/CodeDom_CodeProviders/VB/source.vb#1)]
]]></format>
</remarks>
<permission cref="F:System.Security.Permissions.SecurityAction.LinkDemand">for full trust for the immediate caller. This class cannot be used by partially trusted code.</permission>
<permission cref="F:System.Security.Permissions.SecurityAction.InheritanceDemand">for full trust for inheritors. This class cannot be inherited by partially trusted code.</permission>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public CSharpCodeProvider ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.CSharp.CSharpCodeProvider.#ctor" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.CodeDom</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters />
<Docs>
<summary>Initializes a new instance of the <see cref="T:Microsoft.CSharp.CSharpCodeProvider" /> class.</summary>
<remarks>To be added.</remarks>
<permission cref="F:System.Security.Permissions.SecurityAction.LinkDemand">for full trust for the immediate caller. This class cannot be used by partially trusted code.</permission>
<permission cref="F:System.Security.Permissions.SecurityAction.InheritanceDemand">for full trust for inheritors. This class cannot be inherited by partially trusted code.</permission>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public CSharpCodeProvider (System.Collections.Generic.IDictionary<string,string> providerOptions);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.Collections.Generic.IDictionary`2<string, string> providerOptions) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.CSharp.CSharpCodeProvider.#ctor(System.Collections.Generic.IDictionary{System.String,System.String})" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.CodeDom</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="providerOptions" Type="System.Collections.Generic.IDictionary<System.String,System.String>" />
</Parameters>
<Docs>
<param name="providerOptions">A <see cref="T:System.Collections.Generic.IDictionary`2" /> object that contains the provider options from the configuration file.</param>
<summary>Initializes a new instance of the <see cref="T:Microsoft.CSharp.CSharpCodeProvider" /> class by using the specified provider options.</summary>
<remarks>
<format type="text/markdown"><]
]]></format>
</remarks>
<exception cref="T:System.ArgumentNullException">
<paramref name="providerOptions" /> is <see langword="null" />.</exception>
<permission cref="F:System.Security.Permissions.SecurityAction.LinkDemand">for full trust for the immediate caller. This member cannot be used by partially trusted code.</permission>
</Docs>
</Member>
<Member MemberName="CreateCompiler">
<MemberSignature Language="C#" Value="public override System.CodeDom.Compiler.ICodeCompiler CreateCompiler ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.CodeDom.Compiler.ICodeCompiler CreateCompiler() cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.CSharp.CSharpCodeProvider.CreateCompiler" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.CodeDom</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.Obsolete("Use CodeDomProvider class")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.CodeDom.Compiler.ICodeCompiler</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Gets an instance of the C# code compiler.</summary>
<returns>An instance of the C# <see cref="T:System.CodeDom.Compiler.ICodeCompiler" /> implementation.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="CreateGenerator">
<MemberSignature Language="C#" Value="public override System.CodeDom.Compiler.ICodeGenerator CreateGenerator ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.CodeDom.Compiler.ICodeGenerator CreateGenerator() cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.CSharp.CSharpCodeProvider.CreateGenerator" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.CodeDom</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.Obsolete("Use CodeDomProvider class")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.CodeDom.Compiler.ICodeGenerator</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Gets an instance of the C# code generator.</summary>
<returns>An instance of the C# <see cref="T:System.CodeDom.Compiler.ICodeGenerator" /> implementation.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="FileExtension">
<MemberSignature Language="C#" Value="public override string FileExtension { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance string FileExtension" />
<MemberSignature Language="DocId" Value="P:Microsoft.CSharp.CSharpCodeProvider.FileExtension" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.CodeDom</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the file name extension to use when creating source code files.</summary>
<value>The file name extension to use for generated source code files.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This file name extension is usually the extension used by the language's source code files.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="GenerateCodeFromMember">
<MemberSignature Language="C#" Value="public override void GenerateCodeFromMember (System.CodeDom.CodeTypeMember member, System.IO.TextWriter writer, System.CodeDom.Compiler.CodeGeneratorOptions options);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void GenerateCodeFromMember(class System.CodeDom.CodeTypeMember member, class System.IO.TextWriter writer, class System.CodeDom.Compiler.CodeGeneratorOptions options) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.CSharp.CSharpCodeProvider.GenerateCodeFromMember(System.CodeDom.CodeTypeMember,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.CodeDom</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.MonoTODO</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="member" Type="System.CodeDom.CodeTypeMember" />
<Parameter Name="writer" Type="System.IO.TextWriter" />
<Parameter Name="options" Type="System.CodeDom.Compiler.CodeGeneratorOptions" />
</Parameters>
<Docs>
<param name="member">A <see cref="T:System.CodeDom.CodeTypeMember" /> to generate code for.</param>
<param name="writer">The <see cref="T:System.IO.TextWriter" /> to write to.</param>
<param name="options">The <see cref="T:System.CodeDom.Compiler.CodeGeneratorOptions" /> to use when generating the code.</param>
<summary>Generates code for the specified class member using the specified text writer and code generator options.</summary>
<remarks>
<format type="text/markdown"><]
[!code-vb[CodeDom_GenerateCodeFromMember#3](~/samples/snippets/visualbasic/VS_Snippets_CLR/CodeDom_GenerateCodeFromMember/vb/module1.vb#3)]
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="GetConverter">
<MemberSignature Language="C#" Value="public override System.ComponentModel.TypeConverter GetConverter (Type type);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.ComponentModel.TypeConverter GetConverter(class System.Type type) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.CSharp.CSharpCodeProvider.GetConverter(System.Type)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.CodeDom</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.MonoTODO</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.ComponentModel.TypeConverter</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="type" Type="System.Type" />
</Parameters>
<Docs>
<param name="type">The type of object to retrieve a type converter for.</param>
<summary>Gets a <see cref="T:System.ComponentModel.TypeConverter" /> for the specified type of object.</summary>
<returns>A <see cref="T:System.ComponentModel.TypeConverter" /> for the specified type.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
A derived class can override this method to provide specific types of type converters for specific data types.
]]></format>
</remarks>
</Docs>
</Member>
</Members>
</Type>