-
Notifications
You must be signed in to change notification settings - Fork 1.5k
/
ResourceExpressionBuilder.xml
296 lines (274 loc) · 21.8 KB
/
ResourceExpressionBuilder.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
<Type Name="ResourceExpressionBuilder" FullName="System.Web.Compilation.ResourceExpressionBuilder">
<TypeSignature Language="C#" Value="public class ResourceExpressionBuilder : System.Web.Compilation.ExpressionBuilder" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ResourceExpressionBuilder extends System.Web.Compilation.ExpressionBuilder" />
<TypeSignature Language="DocId" Value="T:System.Web.Compilation.ResourceExpressionBuilder" />
<TypeSignature Language="VB.NET" Value="Public Class ResourceExpressionBuilder
Inherits ExpressionBuilder" />
<TypeSignature Language="F#" Value="type ResourceExpressionBuilder = class
 inherit ExpressionBuilder" />
<TypeSignature Language="C++ CLI" Value="public ref class ResourceExpressionBuilder : System::Web::Compilation::ExpressionBuilder" />
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Web.Compilation.ExpressionBuilder</BaseTypeName>
</Base>
<Interfaces />
<Attributes>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5">
<AttributeName Language="C#">[System.Web.Compilation.ExpressionEditor("System.Web.UI.Design.ResourceExpressionEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]</AttributeName>
<AttributeName Language="F#">[<System.Web.Compilation.ExpressionEditor("System.Web.UI.Design.ResourceExpressionEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]</AttributeName>
</Attribute>
<Attribute>
<AttributeName Language="C#">[System.Web.Compilation.ExpressionPrefix("Resources")]</AttributeName>
<AttributeName Language="F#">[<System.Web.Compilation.ExpressionPrefix("Resources")>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="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">
<AttributeName Language="C#">[System.Web.Compilation.ExpressionEditor("System.Web.UI.Design.ResourceExpressionEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]</AttributeName>
<AttributeName Language="F#">[<System.Web.Compilation.ExpressionEditor("System.Web.UI.Design.ResourceExpressionEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>Provides code to the page parser for assigning property values on a control.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Web.Compilation.ResourceExpressionBuilder> class creates code to retrieve resource values when the page is executed. A resource file typically contains information localized for a particular language or culture.
A resource expression takes the form `<%$ Resources: ClassKey, ResourceKey %>` within the page. The part of the expression before the colon (:) designates the type of expression builder to use, and the part after the colon signifies the class name and resource key. The preceding expression would retrieve the following value from a file named `ClassKey.resx`:
```
<data name="ResourceKey"><value xml:space="preserve">Hello!</value></data>
```
When the page parser encounters an expression with the `Resources` prefix, it creates an instance of the <xref:System.Web.Compilation.ResourceExpressionBuilder> class. The <xref:System.Web.Compilation.ResourceExpressionBuilder> class either evaluates the expression or generates code to return a value for the expression when the page is executed.
If the expression is encountered in a page that will be compiled, the <xref:System.Web.Compilation.ResourceExpressionBuilder> object generates code that retrieves the specified value from the resource file. If the expression is encountered in a page that will not be compiled, the <xref:System.Web.Compilation.ResourceExpressionBuilder> object returns the value from the resource file when the page is parsed.
## Examples
The following code example retrieves the default currency from a resource file.
:::code language="aspx-csharp" source="~/snippets/csharp/VS_Snippets_WebNet/System.Web.Compilation.ResourceExpressionBuilder/CS/Default.aspx" id="Snippet1":::
:::code language="aspx-vb" source="~/snippets/visualbasic/VS_Snippets_WebNet/System.Web.Compilation.ResourceExpressionBuilder/VB/Default.aspx" id="Snippet1":::
This code reads the following value from a resource file named `Financial.resx` in the App_GlobalResources directory.
```
<data name="Currency"><value xml:space="preserve">US dollars</value></data>
```
]]></format>
</remarks>
<altmember cref="T:System.Web.Compilation.ExpressionBuilder" />
<altmember cref="T:System.Web.UI.Design.ResourceExpressionEditor" />
<altmember cref="T:System.Web.Compilation.BuildProvider" />
<altmember cref="T:System.Web.Compilation.BuildManager" />
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public ResourceExpressionBuilder ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.Compilation.ResourceExpressionBuilder.#ctor" />
<MemberSignature Language="VB.NET" Value="Public Sub New ()" />
<MemberSignature Language="C++ CLI" Value="public:
 ResourceExpressionBuilder();" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
</Attributes>
<Parameters />
<Docs>
<summary>Initializes a new instance of the <see cref="T:System.Web.Compilation.ResourceExpressionBuilder" /> class.</summary>
<remarks>To be added.</remarks>
<related type="Article" href="https://learn.microsoft.com/previous-versions/aspnet/d5bd1tad(v=vs.100)">ASP.NET Expressions Overview</related>
</Docs>
</Member>
<Member MemberName="EvaluateExpression">
<MemberSignature Language="C#" Value="public override object EvaluateExpression (object target, System.Web.UI.BoundPropertyEntry entry, object parsedData, System.Web.Compilation.ExpressionBuilderContext context);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance object EvaluateExpression(object target, class System.Web.UI.BoundPropertyEntry entry, object parsedData, class System.Web.Compilation.ExpressionBuilderContext context) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.Compilation.ResourceExpressionBuilder.EvaluateExpression(System.Object,System.Web.UI.BoundPropertyEntry,System.Object,System.Web.Compilation.ExpressionBuilderContext)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function EvaluateExpression (target As Object, entry As BoundPropertyEntry, parsedData As Object, context As ExpressionBuilderContext) As Object" />
<MemberSignature Language="F#" Value="override this.EvaluateExpression : obj * System.Web.UI.BoundPropertyEntry * obj * System.Web.Compilation.ExpressionBuilderContext -> obj" Usage="resourceExpressionBuilder.EvaluateExpression (target, entry, parsedData, context)" />
<MemberSignature Language="C++ CLI" Value="public:
 override System::Object ^ EvaluateExpression(System::Object ^ target, System::Web::UI::BoundPropertyEntry ^ entry, System::Object ^ parsedData, System::Web::Compilation::ExpressionBuilderContext ^ context);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="target" Type="System.Object" />
<Parameter Name="entry" Type="System.Web.UI.BoundPropertyEntry" />
<Parameter Name="parsedData" Type="System.Object" />
<Parameter Name="context" Type="System.Web.Compilation.ExpressionBuilderContext" />
</Parameters>
<Docs>
<param name="target">The object containing the expression.</param>
<param name="entry">The object that represents information about the property bound to by the expression.</param>
<param name="parsedData">The object containing parsed data as returned by the <see cref="Overload:System.Web.Compilation.ResourceExpressionBuilder.ParseExpression" /> method.</param>
<param name="context">Contextual information for the evaluation of the expression.</param>
<summary>Returns a value from a resource file.</summary>
<returns>An <see cref="T:System.Object" /> associated with the parsed expression. The parsed expression contains the class name and resource key.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method is called when an expression of the form `<%$ Resources: someResourceKey %>` is encountered in a page that uses the no-compile feature. It retrieves the appropriate value from a key/value pair in a resource file.
]]></format>
</remarks>
<altmember cref="T:System.Web.UI.CompilationMode" />
<related type="Article" href="https://learn.microsoft.com/previous-versions/aspnet/d5bd1tad(v=vs.100)">ASP.NET Expressions Overview</related>
</Docs>
</Member>
<Member MemberName="GetCodeExpression">
<MemberSignature Language="C#" Value="public override System.CodeDom.CodeExpression GetCodeExpression (System.Web.UI.BoundPropertyEntry entry, object parsedData, System.Web.Compilation.ExpressionBuilderContext context);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.CodeDom.CodeExpression GetCodeExpression(class System.Web.UI.BoundPropertyEntry entry, object parsedData, class System.Web.Compilation.ExpressionBuilderContext context) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.Compilation.ResourceExpressionBuilder.GetCodeExpression(System.Web.UI.BoundPropertyEntry,System.Object,System.Web.Compilation.ExpressionBuilderContext)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function GetCodeExpression (entry As BoundPropertyEntry, parsedData As Object, context As ExpressionBuilderContext) As CodeExpression" />
<MemberSignature Language="F#" Value="override this.GetCodeExpression : System.Web.UI.BoundPropertyEntry * obj * System.Web.Compilation.ExpressionBuilderContext -> System.CodeDom.CodeExpression" Usage="resourceExpressionBuilder.GetCodeExpression (entry, parsedData, context)" />
<MemberSignature Language="C++ CLI" Value="public:
 override System::CodeDom::CodeExpression ^ GetCodeExpression(System::Web::UI::BoundPropertyEntry ^ entry, System::Object ^ parsedData, System::Web::Compilation::ExpressionBuilderContext ^ context);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.CodeDom.CodeExpression</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="entry" Type="System.Web.UI.BoundPropertyEntry" />
<Parameter Name="parsedData" Type="System.Object" />
<Parameter Name="context" Type="System.Web.Compilation.ExpressionBuilderContext" />
</Parameters>
<Docs>
<param name="entry">The property name of the object.</param>
<param name="parsedData">The parsed value of the expression.</param>
<param name="context">Properties for the control or page.</param>
<summary>Returns a code expression to evaluate during page execution.</summary>
<returns>A <see cref="T:System.CodeDom.CodeExpression" /> that invokes a method.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method is called during the CodeDOM creation for a page or control. The <xref:System.CodeDom.CodeExpression> object returned is of the type <xref:System.CodeDom.CodeMethodInvokeExpression> and represents the method to call when retrieving a resource value during page execution.
]]></format>
</remarks>
<related type="Article" href="https://learn.microsoft.com/previous-versions/aspnet/d5bd1tad(v=vs.100)">ASP.NET Expressions Overview</related>
</Docs>
</Member>
<MemberGroup MemberName="ParseExpression">
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Docs>
<summary>Returns an object that represents the parsed expression.</summary>
</Docs>
</MemberGroup>
<Member MemberName="ParseExpression">
<MemberSignature Language="C#" Value="public static System.Web.Compilation.ResourceExpressionFields ParseExpression (string expression);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Web.Compilation.ResourceExpressionFields ParseExpression(string expression) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.Compilation.ResourceExpressionBuilder.ParseExpression(System.String)" />
<MemberSignature Language="VB.NET" Value="Public Shared Function ParseExpression (expression As String) As ResourceExpressionFields" />
<MemberSignature Language="F#" Value="static member ParseExpression : string -> System.Web.Compilation.ResourceExpressionFields" Usage="System.Web.Compilation.ResourceExpressionBuilder.ParseExpression expression" />
<MemberSignature Language="C++ CLI" Value="public:
 static System::Web::Compilation::ResourceExpressionFields ^ ParseExpression(System::String ^ expression);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Web.Compilation.ResourceExpressionFields</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="expression" Type="System.String" />
</Parameters>
<Docs>
<param name="expression">The expression value to be parsed.</param>
<summary>Returns an object that represents the parsed expression.</summary>
<returns>The <see cref="T:System.Web.Compilation.ResourceExpressionFields" /> for the expression.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method parses the expression and returns a <xref:System.Web.Compilation.ResourceExpressionFields.ClassKey%2A> and a <xref:System.Web.Compilation.ResourceExpressionFields.ResourceKey%2A> property value in the returned <xref:System.Web.Compilation.ResourceExpressionFields> object, if these properties are provided in the expression.
]]></format>
</remarks>
<related type="Article" href="https://learn.microsoft.com/previous-versions/aspnet/d5bd1tad(v=vs.100)">ASP.NET Expressions Overview</related>
</Docs>
</Member>
<Member MemberName="ParseExpression">
<MemberSignature Language="C#" Value="public override object ParseExpression (string expression, Type propertyType, System.Web.Compilation.ExpressionBuilderContext context);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance object ParseExpression(string expression, class System.Type propertyType, class System.Web.Compilation.ExpressionBuilderContext context) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.Compilation.ResourceExpressionBuilder.ParseExpression(System.String,System.Type,System.Web.Compilation.ExpressionBuilderContext)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function ParseExpression (expression As String, propertyType As Type, context As ExpressionBuilderContext) As Object" />
<MemberSignature Language="F#" Value="override this.ParseExpression : string * Type * System.Web.Compilation.ExpressionBuilderContext -> obj" Usage="resourceExpressionBuilder.ParseExpression (expression, propertyType, context)" />
<MemberSignature Language="C++ CLI" Value="public:
 override System::Object ^ ParseExpression(System::String ^ expression, Type ^ propertyType, System::Web::Compilation::ExpressionBuilderContext ^ context);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="expression" Type="System.String" />
<Parameter Name="propertyType" Type="System.Type" />
<Parameter Name="context" Type="System.Web.Compilation.ExpressionBuilderContext" />
</Parameters>
<Docs>
<param name="expression">The value of the declarative expression.</param>
<param name="propertyType">The type of the property bound to by the expression.</param>
<param name="context">Contextual information for the evaluation of the expression.</param>
<summary>Returns an object that represents the parsed expression.</summary>
<returns>An <see cref="T:System.Object" /> that represents the parsed expression.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The returned <xref:System.Object> is of type <xref:System.Web.Compilation.ResourceExpressionFields>. This method parses the expression and returns a <xref:System.Web.Compilation.ResourceExpressionFields.ClassKey%2A> and a <xref:System.Web.Compilation.ResourceExpressionFields.ResourceKey%2A> property value in the returned <xref:System.Web.Compilation.ResourceExpressionFields> object, if those properties are provided in the expression.
]]></format>
</remarks>
<exception cref="T:System.Web.HttpException">The resource expression cannot be found or is invalid.</exception>
<related type="Article" href="https://learn.microsoft.com/previous-versions/aspnet/d5bd1tad(v=vs.100)">ASP.NET Expressions Overview</related>
</Docs>
</Member>
<Member MemberName="SupportsEvaluate">
<MemberSignature Language="C#" Value="public override bool SupportsEvaluate { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool SupportsEvaluate" />
<MemberSignature Language="DocId" Value="P:System.Web.Compilation.ResourceExpressionBuilder.SupportsEvaluate" />
<MemberSignature Language="VB.NET" Value="Public Overrides ReadOnly Property SupportsEvaluate As Boolean" />
<MemberSignature Language="F#" Value="member this.SupportsEvaluate : bool" Usage="System.Web.Compilation.ResourceExpressionBuilder.SupportsEvaluate" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual property bool SupportsEvaluate { bool get(); };" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Returns a value indicating whether an expression can be evaluated in a page that uses the no-compile feature.</summary>
<value>
<see langword="true" /> in all cases.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Web.Compilation.ResourceExpressionBuilder.SupportsEvaluate%2A> property indicates whether the <xref:System.Web.Compilation.ResourceExpressionBuilder.EvaluateExpression%2A> method has been implemented in the class. <xref:System.Web.Compilation.ResourceExpressionBuilder.EvaluateExpression%2A> must be implemented within an expression builder for an expression to be evaluated in a page that uses the no-compile feature. <xref:System.Web.Compilation.ResourceExpressionBuilder> supports evaluation of resource values in non-compiled pages, so this property always returns `true`.
]]></format>
</remarks>
<altmember cref="T:System.Web.UI.CompilationMode" />
<related type="Article" href="https://learn.microsoft.com/previous-versions/aspnet/d5bd1tad(v=vs.100)">ASP.NET Expressions Overview</related>
</Docs>
</Member>
</Members>
</Type>