unity 1.2.0.0 → 2.0.414.0.20100813

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. data/docs/2.0/Eula.rtf +0 -0
  2. data/docs/2.0/Release notes.htm +393 -0
  3. data/docs/2.0/Unity20.HxS +0 -0
  4. data/docs/2.0/UnityApiDocs.HxS +0 -0
  5. data/docs/2.0/UnityDocs.url +2 -0
  6. data/docs/2.0/UnityQuickStarts.zip +0 -0
  7. data/docs/2.0/UnitySource.zip +0 -0
  8. data/docs/2.0/_AIndex_38962f070c7d4bac941c455220fb6651.HxK +3 -0
  9. data/docs/2.0/_Collection_38962f070c7d4bac941c455220fb6651.HxC +16 -0
  10. data/docs/2.0/_FIndex_38962f070c7d4bac941c455220fb6651.HxK +3 -0
  11. data/docs/2.0/_KIndex_38962f070c7d4bac941c455220fb6651.HxK +3 -0
  12. data/docs/2.0/_NUrlIndex_38962f070c7d4bac941c455220fb6651.HxK +3 -0
  13. data/docs/2.0/_TOC_38962f070c7d4bac941c455220fb6651.HxT +8 -0
  14. data/docs/Silverlight/Eula.rtf +0 -0
  15. data/docs/Silverlight/Silverlight Release notes.htm +354 -0
  16. data/docs/Silverlight/UnityDocs.url +2 -0
  17. data/docs/Silverlight/UnitySilverlightQuickStarts.zip +0 -0
  18. data/docs/Silverlight/UnitySilverlightSource.zip +0 -0
  19. data/lib/net-2.0/Eula.rtf +0 -0
  20. data/lib/net-2.0/Microsoft.Practices.ServiceLocation.dll +0 -0
  21. data/lib/net-2.0/Microsoft.Practices.Unity.Configuration.dll +0 -0
  22. data/lib/net-2.0/Microsoft.Practices.Unity.Configuration.pdb +0 -0
  23. data/lib/net-2.0/Microsoft.Practices.Unity.Configuration.xml +2451 -0
  24. data/lib/net-2.0/Microsoft.Practices.Unity.Interception.Configuration.dll +0 -0
  25. data/lib/net-2.0/Microsoft.Practices.Unity.Interception.Configuration.pdb +0 -0
  26. data/lib/net-2.0/Microsoft.Practices.Unity.Interception.Configuration.xml +716 -0
  27. data/lib/net-2.0/Microsoft.Practices.Unity.Interception.dll +0 -0
  28. data/lib/net-2.0/Microsoft.Practices.Unity.Interception.pdb +0 -0
  29. data/lib/net-2.0/Microsoft.Practices.Unity.Interception.xml +3460 -0
  30. data/lib/net-2.0/Microsoft.Practices.Unity.ServiceLocatorAdapter.dll +0 -0
  31. data/lib/net-2.0/Microsoft.Practices.Unity.dll +0 -0
  32. data/lib/net-2.0/Microsoft.Practices.Unity.pdb +0 -0
  33. data/lib/net-2.0/Microsoft.Practices.Unity.xml +4812 -1879
  34. data/lib/net-2.0/Release notes.htm +393 -0
  35. data/lib/silverlight-3.0/Microsoft.Practices.ServiceLocation.dll +0 -0
  36. data/lib/silverlight-3.0/Microsoft.Practices.Unity.Silverlight.dll +0 -0
  37. data/lib/silverlight-3.0/Microsoft.Practices.Unity.Silverlight.pdb +0 -0
  38. data/lib/silverlight-3.0/Microsoft.Practices.Unity.Silverlight.xml +5871 -0
  39. metadata +39 -6
  40. data/lib/net-2.0/Microsoft.Practices.ObjectBuilder2.dll +0 -0
  41. data/lib/net-2.0/Microsoft.Practices.ObjectBuilder2.pdb +0 -0
  42. data/lib/net-2.0/Microsoft.Practices.ObjectBuilder2.xml +0 -3182
@@ -0,0 +1,3460 @@
1
+ <?xml version="1.0"?>
2
+ <doc>
3
+ <assembly>
4
+ <name>Microsoft.Practices.Unity.Interception</name>
5
+ </assembly>
6
+ <members>
7
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.AdditionalInterface">
8
+ <summary>
9
+ Stores information about a single <see cref="T:System.Type"/> to be an additional interface for an intercepted object and
10
+ configures a container accordingly.
11
+ </summary>
12
+ </member>
13
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptionMember">
14
+ <summary>
15
+ Stores information about a an intercepted object and configures a container accordingly.
16
+ </summary>
17
+ </member>
18
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.AdditionalInterface.#ctor(System.Type)">
19
+ <summary>
20
+ Initializes a new instance of the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.AdditionalInterface"/> with a
21
+ <see cref="T:System.Type"/>.
22
+ </summary>
23
+ <param name="additionalInterface">A descriptor representing the interception behavior to use.</param>
24
+ <exception cref="T:System.ArgumentNullException">when <paramref name="additionalInterface"/> is
25
+ <see langword="null"/>.</exception>
26
+ <exception cref="T:System.ArgumentException">when <paramref name="additionalInterface"/> is not an interface.
27
+ </exception>
28
+ </member>
29
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.AdditionalInterface.AddPolicies(System.Type,System.Type,System.String,Microsoft.Practices.ObjectBuilder2.IPolicyList)">
30
+ <summary>
31
+ Add policies to the <paramref name="policies"/> to configure the container to use the represented
32
+ <see cref="T:System.Type"/> as an additional interface for the supplied parameters.
33
+ </summary>
34
+ <param name="serviceType">Interface being registered.</param>
35
+ <param name="implementationType">Type to register.</param>
36
+ <param name="name">Name used to resolve the type object.</param>
37
+ <param name="policies">Policy list to add policies to.</param>
38
+ </member>
39
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.AdditionalInterface`1">
40
+ <summary>
41
+ Stores information about a single <see cref="T:System.Type"/> to be an additional interface for an intercepted object and
42
+ configures a container accordingly.
43
+ </summary>
44
+ <typeparam name="T">The interface.</typeparam>
45
+ </member>
46
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.AdditionalInterface`1.#ctor">
47
+ <summary>
48
+ Initializes a new instance of the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.AdditionalInterface`1"/>.
49
+ </summary>
50
+ </member>
51
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptionBehavior">
52
+ <summary>
53
+ An injection member that lets you specify behaviors that should
54
+ apply to all instances of a type in the container regardless
55
+ of what name it's resolved under.
56
+ </summary>
57
+ </member>
58
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehaviorBase">
59
+ <summary>
60
+ Base class for injection members that allow you to add
61
+ interception behaviors.
62
+ </summary>
63
+ </member>
64
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehaviorBase.#ctor(Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior)">
65
+ <summary>
66
+ Initializes a new instance of the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehavior"/> with a
67
+ <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior"/>.
68
+ </summary>
69
+ <param name="interceptionBehavior">The interception behavior to use.</param>
70
+ </member>
71
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehaviorBase.#ctor(System.Type,System.String)">
72
+ <summary>
73
+ Initializes a new instance of the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehavior"/> with a
74
+ given type/name pair.
75
+ </summary>
76
+ <param name="behaviorType">Type of behavior to </param>
77
+ <param name="name"></param>
78
+ </member>
79
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehaviorBase.#ctor(System.Type)">
80
+ <summary>
81
+ Initializes a new instance of the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehavior"/> with a
82
+ given behavior type.
83
+ </summary>
84
+ <param name="behaviorType">Type of behavior to </param>
85
+ </member>
86
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehaviorBase.AddPolicies(System.Type,System.Type,System.String,Microsoft.Practices.ObjectBuilder2.IPolicyList)">
87
+ <summary>
88
+ Add policies to the <paramref name="policies"/> to configure the container to use the represented
89
+ <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior"/> for the supplied parameters.
90
+ </summary>
91
+ <param name="serviceType">Interface being registered.</param>
92
+ <param name="implementationType">Type to register.</param>
93
+ <param name="name">Name used to resolve the type object.</param>
94
+ <param name="policies">Policy list to add policies to.</param>
95
+ </member>
96
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehaviorBase.GetBehaviorsPolicy(Microsoft.Practices.ObjectBuilder2.IPolicyList,System.Type,System.String)">
97
+ <summary>
98
+ Get the list of behaviors for the current type so that it can be added to.
99
+ </summary>
100
+ <param name="policies">Policy list.</param>
101
+ <param name="implementationType">Implementation type to set behaviors for.</param>
102
+ <param name="name">Name type is registered under.</param>
103
+ <returns>An instance of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehaviorsPolicy"/>.</returns>
104
+ </member>
105
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptionBehavior.#ctor(Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior)">
106
+ <summary>
107
+ Create a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptionBehavior"/> that will
108
+ supply the given interception behavior to the container.
109
+ </summary>
110
+ <param name="interceptionBehavior">Behavior to apply to this type.</param>
111
+ </member>
112
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptionBehavior.#ctor(System.Type,System.String)">
113
+ <summary>
114
+ Create a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptionBehavior"/> that will
115
+ resolve the given type/name pair to get the behavior.
116
+ </summary>
117
+ <param name="behaviorType">Type of behavior.</param>
118
+ <param name="name">Name for behavior registration.</param>
119
+ </member>
120
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptionBehavior.#ctor(System.Type)">
121
+ <summary>
122
+ Create a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptionBehavior"/> that will
123
+ resolve the given type to get the behavior.
124
+ </summary>
125
+ <param name="behaviorType">Type of behavior.</param>
126
+ </member>
127
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptionBehavior.GetBehaviorsPolicy(Microsoft.Practices.ObjectBuilder2.IPolicyList,System.Type,System.String)">
128
+ <summary>
129
+ Get the list of behaviors for the current type so that it can be added to.
130
+ </summary>
131
+ <param name="policies">Policy list.</param>
132
+ <param name="implementationType">Implementation type to set behaviors for.</param>
133
+ <param name="name">Name type is registered under.</param>
134
+ <returns>An instance of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehaviorsPolicy"/>.</returns>
135
+ </member>
136
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptionBehavior`1">
137
+ <summary>
138
+ A generic version of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptionBehavior"/> so you
139
+ can give the behavior type using generic syntax.
140
+ </summary>
141
+ <typeparam name="TBehavior">Type of the behavior object to apply.</typeparam>
142
+ </member>
143
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptionBehavior`1.#ctor(System.String)">
144
+ <summary>
145
+ Construct a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptionBehavior`1"/> instance
146
+ that use the given type and name to resolve the behavior object.
147
+ </summary>
148
+ <param name="name">Name of the registration.</param>
149
+ </member>
150
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptionBehavior`1.#ctor">
151
+ <summary>
152
+ Construct a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptionBehavior`1"/> instance
153
+ that uses the given type to resolve the behavior object.
154
+ </summary>
155
+ </member>
156
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptor">
157
+ <summary>
158
+ A <see cref="T:Microsoft.Practices.Unity.InjectionMember"/> that can be passed to the
159
+ <see cref="M:Microsoft.Practices.Unity.IUnityContainer.RegisterType(System.Type,System.Type,System.String,Microsoft.Practices.Unity.LifetimeManager,Microsoft.Practices.Unity.InjectionMember[])"/> method to specify
160
+ which interceptor to use. This member sets up the default
161
+ interceptor for a type - this will be used regardless of which
162
+ name is used to resolve the type.
163
+ </summary>
164
+ </member>
165
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptor.#ctor(Microsoft.Practices.Unity.InterceptionExtension.IInterceptor)">
166
+ <summary>
167
+ Construt a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptor"/> instance that,
168
+ when applied to a container, will register the given
169
+ interceptor as the default one.
170
+ </summary>
171
+ <param name="interceptor">Interceptor to use.</param>
172
+ </member>
173
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptor.#ctor(System.Type,System.String)">
174
+ <summary>
175
+ Construct a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptor"/> that, when
176
+ applied to a container, will register the given type as
177
+ the default interceptor.
178
+ </summary>
179
+ <param name="interceptorType">Type of interceptor.</param>
180
+ <param name="name">Name to use to resolve the interceptor.</param>
181
+ </member>
182
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptor.#ctor(System.Type)">
183
+ <summary>
184
+ Construct a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptor"/> that, when
185
+ applied to a container, will register the given type as
186
+ the default interceptor.
187
+ </summary>
188
+ <param name="interceptorType">Type of interceptor.</param>
189
+ </member>
190
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptor.AddPolicies(System.Type,System.Type,System.String,Microsoft.Practices.ObjectBuilder2.IPolicyList)">
191
+ <summary>
192
+ Add policies to the <paramref name="policies"/> to configure the
193
+ container to call this constructor with the appropriate parameter values.
194
+ </summary>
195
+ <param name="serviceType">Type of interface being registered. If no interface,
196
+ this will be null.</param>
197
+ <param name="implementationType">Type of concrete type being registered.</param>
198
+ <param name="name">Name used to resolve the type object.</param>
199
+ <param name="policies">Policy list to add policies to.</param>
200
+ </member>
201
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptor`1">
202
+ <summary>
203
+ A generic version of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptor"/> so that
204
+ you can specify the interceptor type using generics.
205
+ </summary>
206
+ <typeparam name="TInterceptor"></typeparam>
207
+ </member>
208
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptor`1.#ctor(System.String)">
209
+ <summary>
210
+ Create a new instance of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptor`1"/>.
211
+ </summary>
212
+ <param name="name">Name to use when resolving interceptor.</param>
213
+ </member>
214
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptor`1.#ctor">
215
+ <summary>
216
+ Create a new instance of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.DefaultInterceptor`1"/>.
217
+ </summary>
218
+ </member>
219
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.AdditionalInterfacesPolicy">
220
+ <summary>
221
+ An <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IAdditionalInterfacesPolicy"/> that accumulates a sequence of
222
+ <see cref="T:System.Type"/> instances representing the additional interfaces for an intercepted object.
223
+ </summary>
224
+ </member>
225
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.IAdditionalInterfacesPolicy">
226
+ <summary>
227
+ An <see cref="T:Microsoft.Practices.ObjectBuilder2.IBuilderPolicy"/> that returns a sequence of <see cref="T:System.Type"/>
228
+ instances representing the additional interfaces for an intercepted object.
229
+ </summary>
230
+ </member>
231
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IAdditionalInterfacesPolicy.AdditionalInterfaces">
232
+ <summary>
233
+ Gets the <see cref="T:System.Type"/> instances accumulated by this policy.
234
+ </summary>
235
+ </member>
236
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.AdditionalInterfacesPolicy.#ctor">
237
+ <summary>
238
+ Initializes a new instance of the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.AdditionalInterfacesPolicy"/> class.
239
+ </summary>
240
+ </member>
241
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.AdditionalInterfacesPolicy.AdditionalInterfaces">
242
+ <summary>
243
+ Gets the <see cref="T:System.Type"/> instances accumulated by this policy.
244
+ </summary>
245
+ </member>
246
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.ResolvedInstanceInterceptionPolicy">
247
+ <summary>
248
+ An implementation of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptionPolicy"/> that will
249
+ resolve the interceptor through the container.
250
+ </summary>
251
+ </member>
252
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptionPolicy">
253
+ <summary>
254
+ An interface that determines when to intercept instances
255
+ and which interceptor to use.
256
+ </summary>
257
+ </member>
258
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptionPolicy.GetInterceptor(Microsoft.Practices.ObjectBuilder2.IBuilderContext)">
259
+ <summary>
260
+ Interceptor to use.
261
+ </summary>
262
+ <param name="context">Context for current build operation.</param>
263
+ </member>
264
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ResolvedInstanceInterceptionPolicy.#ctor(Microsoft.Practices.ObjectBuilder2.NamedTypeBuildKey)">
265
+ <summary>
266
+ Construct a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ResolvedInstanceInterceptionPolicy"/> that
267
+ will resolve the interceptor using the given build key.
268
+ </summary>
269
+ <param name="buildKey">build key to resolve.</param>
270
+ </member>
271
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ResolvedInstanceInterceptionPolicy.GetInterceptor(Microsoft.Practices.ObjectBuilder2.IBuilderContext)">
272
+ <summary>
273
+ Interceptor to use.
274
+ </summary>
275
+ <param name="context">Context for current build operation.</param>
276
+ </member>
277
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.ResolvedTypeInterceptionPolicy">
278
+ <summary>
279
+ An implementation of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptionPolicy"/> that will
280
+ resolve the interceptor through the container.
281
+ </summary>
282
+ </member>
283
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptionPolicy">
284
+ <summary>
285
+ Interface that controls when and how types get intercepted.
286
+ </summary>
287
+ </member>
288
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptionPolicy.GetInterceptor(Microsoft.Practices.ObjectBuilder2.IBuilderContext)">
289
+ <summary>
290
+ Interceptor to use to create type proxy
291
+ </summary>
292
+ <param name="context">Context for current build operation.</param>
293
+ </member>
294
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptionPolicy.ProxyType">
295
+ <summary>
296
+ Cache for proxied type.
297
+ </summary>
298
+ </member>
299
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ResolvedTypeInterceptionPolicy.#ctor(Microsoft.Practices.ObjectBuilder2.NamedTypeBuildKey)">
300
+ <summary>
301
+ construct a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ResolvedTypeInterceptionPolicy"/> that
302
+ will resolve the interceptor with the given <paramref name="buildKey"/>.
303
+ </summary>
304
+ <param name="buildKey">The build key to use to resolve.</param>
305
+ </member>
306
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ResolvedTypeInterceptionPolicy.GetInterceptor(Microsoft.Practices.ObjectBuilder2.IBuilderContext)">
307
+ <summary>
308
+ Interceptor to use to create type proxy
309
+ </summary>
310
+ <param name="context">Context for current build operation.</param>
311
+ </member>
312
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.ResolvedTypeInterceptionPolicy.ProxyType">
313
+ <summary>
314
+ Cache for proxied type.
315
+ </summary>
316
+ </member>
317
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.Intercept">
318
+ <summary>
319
+ High-level API for performing interception on existing and new objects.
320
+ </summary>
321
+ </member>
322
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Intercept.ThroughProxyWithAdditionalInterfaces``1(``0,Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor,System.Collections.Generic.IEnumerable{Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior},System.Collections.Generic.IEnumerable{System.Type})">
323
+ <summary>
324
+ Returns a <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptingProxy"/> for type <typeparamref name="T"/> which wraps
325
+ the supplied <paramref name="target"/>.
326
+ </summary>
327
+ <typeparam name="T">The type to intercept.</typeparam>
328
+ <param name="target">The instance to intercept.</param>
329
+ <param name="interceptor">The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor"/> to use when creating the proxy.</param>
330
+ <param name="interceptionBehaviors">The interception behaviors for the new proxy.</param>
331
+ <param name="additionalInterfaces">Any additional interfaces the proxy must implement.</param>
332
+ <returns>A proxy for <paramref name="target"/> compatible with <typeparamref name="T"/>.</returns>
333
+ <exception cref="T:System.ArgumentNullException">when <paramref name="target"/> is <see langword="null"/>.</exception>
334
+ <exception cref="T:System.ArgumentNullException">when <paramref name="interceptor"/> is <see langword="null"/>.</exception>
335
+ <exception cref="T:System.ArgumentNullException">when <paramref name="interceptionBehaviors"/> is <see langword="null"/>.</exception>
336
+ <exception cref="T:System.ArgumentNullException">when <paramref name="additionalInterfaces"/> is <see langword="null"/>.</exception>
337
+ <exception cref="T:System.ArgumentException">when <paramref name="interceptor"/> cannot intercept
338
+ <typeparamref name="T"/>.</exception>
339
+ </member>
340
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Intercept.ThroughProxy``1(``0,Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor,System.Collections.Generic.IEnumerable{Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior})">
341
+ <summary>
342
+ Returns a <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptingProxy"/> for type <typeparamref name="T"/> which wraps
343
+ the supplied <paramref name="target"/>.
344
+ </summary>
345
+ <typeparam name="T">Type to intercept.</typeparam>
346
+ <param name="target">The instance to intercept.</param>
347
+ <param name="interceptor">The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor"/> to use when creating the proxy.</param>
348
+ <param name="interceptionBehaviors">The interception behaviors for the new proxy.</param>
349
+ <returns>A proxy for <paramref name="target"/> compatible with <typeparamref name="T"/>.</returns>
350
+ <exception cref="T:System.ArgumentNullException">when <paramref name="target"/> is <see langword="null"/>.</exception>
351
+ <exception cref="T:System.ArgumentNullException">when <paramref name="interceptor"/> is <see langword="null"/>.</exception>
352
+ <exception cref="T:System.ArgumentNullException">when <paramref name="interceptionBehaviors"/> is <see langword="null"/>.</exception>
353
+ <exception cref="T:System.ArgumentException">when <paramref name="interceptor"/> cannot intercept
354
+ <typeparamref name="T"/>.</exception>
355
+ </member>
356
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Intercept.ThroughProxyWithAdditionalInterfaces(System.Type,System.Object,Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor,System.Collections.Generic.IEnumerable{Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior},System.Collections.Generic.IEnumerable{System.Type})">
357
+ <summary>
358
+ Returns a <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptingProxy"/> for type <paramref name="interceptedType"/> which wraps
359
+ the supplied <paramref name="target"/>.
360
+ </summary>
361
+ <param name="interceptedType">The type to intercept.</param>
362
+ <param name="target">The instance to intercept.</param>
363
+ <param name="interceptor">The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor"/> to use when creating the proxy.</param>
364
+ <param name="interceptionBehaviors">The interception behaviors for the new proxy.</param>
365
+ <param name="additionalInterfaces">Any additional interfaces the proxy must implement.</param>
366
+ <returns>A proxy for <paramref name="target"/> compatible with <paramref name="interceptedType"/>.</returns>
367
+ <exception cref="T:System.ArgumentNullException">when <paramref name="interceptedType"/> is <see langword="null"/>.</exception>
368
+ <exception cref="T:System.ArgumentNullException">when <paramref name="target"/> is <see langword="null"/>.</exception>
369
+ <exception cref="T:System.ArgumentNullException">when <paramref name="interceptor"/> is <see langword="null"/>.</exception>
370
+ <exception cref="T:System.ArgumentNullException">when <paramref name="interceptionBehaviors"/> is <see langword="null"/>.</exception>
371
+ <exception cref="T:System.ArgumentNullException">when <paramref name="additionalInterfaces"/> is <see langword="null"/>.</exception>
372
+ <exception cref="T:System.ArgumentException">when <paramref name="interceptor"/> cannot intercept
373
+ <paramref name="interceptedType"/>.</exception>
374
+ </member>
375
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Intercept.ThroughProxy(System.Type,System.Object,Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor,System.Collections.Generic.IEnumerable{Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior})">
376
+ <summary>
377
+ Returns a <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptingProxy"/> for type <paramref name="interceptedType"/> which wraps
378
+ the supplied <paramref name="target"/>.
379
+ </summary>
380
+ <param name="interceptedType">The type to intercept.</param>
381
+ <param name="target">The instance to intercept.</param>
382
+ <param name="interceptor">The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor"/> to use when creating the proxy.</param>
383
+ <param name="interceptionBehaviors">The interception behaviors for the new proxy.</param>
384
+ <returns>A proxy for <paramref name="target"/> compatible with <paramref name="interceptedType"/>.</returns>
385
+ <exception cref="T:System.ArgumentNullException">when <paramref name="interceptedType"/> is <see langword="null"/>.</exception>
386
+ <exception cref="T:System.ArgumentNullException">when <paramref name="target"/> is <see langword="null"/>.</exception>
387
+ <exception cref="T:System.ArgumentNullException">when <paramref name="interceptor"/> is <see langword="null"/>.</exception>
388
+ <exception cref="T:System.ArgumentNullException">when <paramref name="interceptionBehaviors"/> is <see langword="null"/>.</exception>
389
+ <exception cref="T:System.ArgumentException">when <paramref name="interceptor"/> cannot intercept
390
+ <paramref name="interceptedType"/>.</exception>
391
+ </member>
392
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Intercept.NewInstanceWithAdditionalInterfaces``1(Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor,System.Collections.Generic.IEnumerable{Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior},System.Collections.Generic.IEnumerable{System.Type},System.Object[])">
393
+ <summary>
394
+ Creates a new instance of type <typeparamref name="T"/> that is intercepted with the behaviors in
395
+ <paramref name="interceptionBehaviors"/>.
396
+ </summary>
397
+ <typeparam name="T">The type of the object to create.</typeparam>
398
+ <param name="interceptor">The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor"/> to use when creating the proxy.</param>
399
+ <param name="interceptionBehaviors">The interception behaviors for the new proxy.</param>
400
+ <param name="additionalInterfaces">Any additional interfaces the proxy must implement.</param>
401
+ <param name="constructorParameters">The arguments for the creation of the new instance.</param>
402
+ <returns>An instance of a class compatible with <typeparamref name="T"/> that includes execution of the
403
+ given <paramref name="interceptionBehaviors"/>.</returns>
404
+ <exception cref="T:System.ArgumentNullException">when <paramref name="interceptor"/> is <see langword="null"/>.</exception>
405
+ <exception cref="T:System.ArgumentNullException">when <paramref name="interceptionBehaviors"/> is <see langword="null"/>.</exception>
406
+ <exception cref="T:System.ArgumentNullException">When <paramref name="additionalInterfaces"/> is <see langword="null"/>.</exception>
407
+ <exception cref="T:System.ArgumentException">when <paramref name="interceptor"/> cannot intercept
408
+ <typeparamref name="T"/>.</exception>
409
+ </member>
410
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Intercept.NewInstance``1(Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor,System.Collections.Generic.IEnumerable{Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior},System.Object[])">
411
+ <summary>
412
+ Creates a new instance of type <typeparamref name="T"/> that is intercepted with the behaviors in
413
+ <paramref name="interceptionBehaviors"/>.
414
+ </summary>
415
+ <typeparam name="T">The type of the object to create.</typeparam>
416
+ <param name="interceptor">The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor"/> to use when creating the proxy.</param>
417
+ <param name="interceptionBehaviors">The interception behaviors for the new proxy.</param>
418
+ <param name="constructorParameters">The arguments for the creation of the new instance.</param>
419
+ <returns>An instance of a class compatible with <typeparamref name="T"/> that includes execution of the
420
+ given <paramref name="interceptionBehaviors"/>.</returns>
421
+ <exception cref="T:System.ArgumentNullException">when <paramref name="interceptor"/> is <see langword="null"/>.</exception>
422
+ <exception cref="T:System.ArgumentNullException">when <paramref name="interceptionBehaviors"/> is <see langword="null"/>.</exception>
423
+ <exception cref="T:System.ArgumentException">when <paramref name="interceptor"/> cannot intercept
424
+ <typeparamref name="T"/>.</exception>
425
+ </member>
426
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Intercept.NewInstanceWithAdditionalInterfaces(System.Type,Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor,System.Collections.Generic.IEnumerable{Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior},System.Collections.Generic.IEnumerable{System.Type},System.Object[])">
427
+ <summary>
428
+ Creates a new instance of type <paramref name="type"/> that is intercepted with the behaviors in
429
+ <paramref name="interceptionBehaviors"/>.
430
+ </summary>
431
+ <param name="type">The type of the object to create.</param>
432
+ <param name="interceptor">The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor"/> to use when creating the proxy.</param>
433
+ <param name="interceptionBehaviors">The interception behaviors for the new proxy.</param>
434
+ <param name="additionalInterfaces">Any additional interfaces the instance must implement.</param>
435
+ <param name="constructorParameters">The arguments for the creation of the new instance.</param>
436
+ <returns>An instance of a class compatible with <paramref name="type"/> that includes execution of the
437
+ given <paramref name="interceptionBehaviors"/>.</returns>
438
+ <exception cref="T:System.ArgumentNullException">when <paramref name="type"/> is <see langword="null"/>.</exception>
439
+ <exception cref="T:System.ArgumentNullException">when <paramref name="interceptor"/> is <see langword="null"/>.</exception>
440
+ <exception cref="T:System.ArgumentNullException">when <paramref name="interceptionBehaviors"/> is <see langword="null"/>.</exception>
441
+ <exception cref="T:System.ArgumentNullException">when <paramref name="additionalInterfaces"/> is <see langword="null"/>.</exception>
442
+ <exception cref="T:System.ArgumentException">when <paramref name="interceptor"/> cannot intercept
443
+ <paramref name="type"/>.</exception>
444
+ </member>
445
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Intercept.NewInstance(System.Type,Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor,System.Collections.Generic.IEnumerable{Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior},System.Object[])">
446
+ <summary>
447
+ Creates a new instance of type <paramref name="type"/> that is intercepted with the behaviors in
448
+ <paramref name="interceptionBehaviors"/>.
449
+ </summary>
450
+ <param name="type">The type of the object to create.</param>
451
+ <param name="interceptor">The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor"/> to use when creating the proxy.</param>
452
+ <param name="interceptionBehaviors">The interception behaviors for the new proxy.</param>
453
+ <param name="constructorParameters">The arguments for the creation of the new instance.</param>
454
+ <returns>An instance of a class compatible with <paramref name="type"/> that includes execution of the
455
+ given <paramref name="interceptionBehaviors"/>.</returns>
456
+ <exception cref="T:System.ArgumentNullException">when <paramref name="type"/> is <see langword="null"/>.</exception>
457
+ <exception cref="T:System.ArgumentNullException">when <paramref name="interceptor"/> is <see langword="null"/>.</exception>
458
+ <exception cref="T:System.ArgumentNullException">when <paramref name="interceptionBehaviors"/> is <see langword="null"/>.</exception>
459
+ <exception cref="T:System.ArgumentException">when <paramref name="interceptor"/> cannot intercept
460
+ <paramref name="type"/>.</exception>
461
+ </member>
462
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Intercept.GetAllAdditionalInterfaces(System.Collections.Generic.IEnumerable{Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior},System.Collections.Generic.IEnumerable{System.Type})">
463
+ <summary>
464
+ Computes the array with all the additional interfaces for the interception of an object.
465
+ </summary>
466
+ <param name="interceptionBehaviors">The interception behaviors for the new proxy.</param>
467
+ <param name="additionalInterfaces">Any additional interfaces the instance must implement.</param>
468
+ <returns>An array with the required interfaces for </returns>
469
+ <exception cref="T:System.ArgumentException">when the interfaces are not valid.</exception>
470
+ </member>
471
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.Interceptor">
472
+ <summary>
473
+ Stores information about the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptor"/> to be used to intercept an object and
474
+ configures a container accordingly.
475
+ </summary>
476
+ <seealso cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior"/>
477
+ </member>
478
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interceptor.#ctor(Microsoft.Practices.Unity.InterceptionExtension.IInterceptor)">
479
+ <summary>
480
+ Initializes a new instance of the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.Interceptor"/> class with an interceptor instance.
481
+ </summary>
482
+ <param name="interceptor">The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptor"/> to use.</param>
483
+ <exception cref="T:System.ArgumentNullException">when <paramref name="interceptor"/> is
484
+ <see langword="null"/>.</exception>
485
+ </member>
486
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interceptor.#ctor(System.Type,System.String)">
487
+ <summary>
488
+ Initialize a new instance of the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.Interceptor"/> class with a given
489
+ name and type that will be resolved to provide interception.
490
+ </summary>
491
+ <param name="interceptorType">Type of the interceptor</param>
492
+ <param name="name">name to use to resolve.</param>
493
+ </member>
494
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interceptor.#ctor(System.Type)">
495
+ <summary>
496
+ Initialize a new instance of the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.Interceptor"/> class with
497
+ a given type that will be resolved to provide interception.
498
+ </summary>
499
+ <param name="interceptorType">Type of the interceptor.</param>
500
+ </member>
501
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interceptor.AddPolicies(System.Type,System.Type,System.String,Microsoft.Practices.ObjectBuilder2.IPolicyList)">
502
+ <summary>
503
+ Add policies to the <paramref name="policies"/> to configure the container to use the represented
504
+ <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptor"/> for the supplied parameters.
505
+ </summary>
506
+ <param name="serviceType">Interface being registered.</param>
507
+ <param name="implementationType">Type to register.</param>
508
+ <param name="name">Name used to resolve the type object.</param>
509
+ <param name="policies">Policy list to add policies to.</param>
510
+ </member>
511
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.Interceptor`1">
512
+ <summary>
513
+ Generic version of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.Interceptor"/> that lets you specify an interceptor
514
+ type using generic syntax.
515
+ </summary>
516
+ <typeparam name="TInterceptor">Type of interceptor</typeparam>
517
+ </member>
518
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interceptor`1.#ctor">
519
+ <summary>
520
+ Initialize an instance of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.Interceptor`1"/> that will
521
+ resolve the given interceptor type.
522
+ </summary>
523
+ </member>
524
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interceptor`1.#ctor(System.String)">
525
+ <summary>
526
+ Initialize an instance of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.Interceptor`1"/> that will
527
+ resolve the given interceptor type and name.
528
+ </summary>
529
+ <param name="name">Name that will be used to resolve the interceptor.</param>
530
+ </member>
531
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.CurrentInterceptionRequest">
532
+ <summary>
533
+ A simple data holder class used to store information about the current
534
+ interception operation that's being set up. Useful for creating behaviors
535
+ that need to know this stuff (especially the PIAB behavior).
536
+ </summary>
537
+ </member>
538
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.CurrentInterceptionRequest.#ctor(Microsoft.Practices.Unity.InterceptionExtension.IInterceptor,System.Type,System.Type)">
539
+ <summary>
540
+ Create a new instance of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.CurrentInterceptionRequest"/> that
541
+ stores the given <paramref name="interceptor"/>,
542
+ <paramref name="typeToIntercept"/>, and <paramref name="implementationType"/>.
543
+ </summary>
544
+ <param name="interceptor"><see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptor"/> that will be used to
545
+ create the intercepting type or proxy.</param>
546
+ <param name="typeToIntercept">Type that interception was requested on.</param>
547
+ <param name="implementationType">Type of the object that will actually be intercepted.</param>
548
+ </member>
549
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.CurrentInterceptionRequest.Interceptor">
550
+ <summary>
551
+ <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptor"/> that will be used to
552
+ create the intercepting type or proxy.
553
+ </summary>
554
+ </member>
555
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.CurrentInterceptionRequest.TypeToIntercept">
556
+ <summary>
557
+ Type that interception was requested on.
558
+ </summary>
559
+ </member>
560
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.CurrentInterceptionRequest.ImplementationType">
561
+ <summary>
562
+ Type of the object that will actually be intercepted.
563
+ </summary>
564
+ </member>
565
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptingProxy">
566
+ <summary>
567
+ This interface is implemented by all proxy objects, type or instance based.
568
+ It allows for adding interception behaviors.
569
+ </summary>
570
+ </member>
571
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IInterceptingProxy.AddInterceptionBehavior(Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior)">
572
+ <summary>
573
+ Adds a <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior"/> to the proxy.
574
+ </summary>
575
+ <param name="interceptor">The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior"/> to add.</param>
576
+ </member>
577
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptor">
578
+ <summary>
579
+ Base interface for type and instance based interceptor classes.
580
+ </summary>
581
+ </member>
582
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IInterceptor.CanIntercept(System.Type)">
583
+ <summary>
584
+ Can this interceptor generate a proxy for the given type?
585
+ </summary>
586
+ <param name="t">Type to check.</param>
587
+ <returns>True if interception is possible, false if not.</returns>
588
+ </member>
589
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IInterceptor.GetInterceptableMethods(System.Type,System.Type)">
590
+ <summary>
591
+ Returns a sequence of methods on the given type that can be
592
+ intercepted.
593
+ </summary>
594
+ <param name="interceptedType">Type that was specified when this interceptor
595
+ was created (typically an interface).</param>
596
+ <param name="implementationType">The concrete type of the implementing object.</param>
597
+ <returns>Sequence of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo"/> objects.</returns>
598
+ </member>
599
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor">
600
+ <summary>
601
+ Interface for interceptors that generate separate proxy
602
+ objects to implement interception on instances.
603
+ </summary>
604
+ </member>
605
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor.CreateProxy(System.Type,System.Object,System.Type[])">
606
+ <summary>
607
+ Create a proxy object that provides interception for <paramref name="target"/>.
608
+ </summary>
609
+ <param name="t">Type to generate the proxy of.</param>
610
+ <param name="target">Object to create the proxy for.</param>
611
+ <param name="additionalInterfaces">Additional interfaces the proxy must implement.</param>
612
+ <returns>The proxy object.</returns>
613
+ </member>
614
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.FixedInstanceInterceptionPolicy">
615
+ <summary>
616
+ Implementation of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptionPolicy"/> that returns a
617
+ pre-created interceptor.
618
+ </summary>
619
+ </member>
620
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.FixedInstanceInterceptionPolicy.#ctor(Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor)">
621
+ <summary>
622
+ Create a new instance of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.FixedInstanceInterceptionPolicy"/>.
623
+ </summary>
624
+ <param name="interceptor">Interceptor to store.</param>
625
+ </member>
626
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.FixedInstanceInterceptionPolicy.GetInterceptor(Microsoft.Practices.ObjectBuilder2.IBuilderContext)">
627
+ <summary>
628
+ Interceptor to use.
629
+ </summary>
630
+ <param name="context">Context for current build operation.</param>
631
+ </member>
632
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InstanceInterceptionStrategy">
633
+ <summary>
634
+ A <see cref="T:Microsoft.Practices.ObjectBuilder2.IBuilderStrategy"/> that intercepts objects
635
+ in the build chain by creating a proxy object.
636
+ </summary>
637
+ </member>
638
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InstanceInterceptionStrategy.PostBuildUp(Microsoft.Practices.ObjectBuilder2.IBuilderContext)">
639
+ <summary>
640
+ Called during the chain of responsibility for a build operation. The
641
+ PostBuildUp method is called when the chain has finished the PreBuildUp
642
+ phase and executes in reverse order from the PreBuildUp calls.
643
+ </summary>
644
+ <param name="context">Context of the build operation.</param>
645
+ </member>
646
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InterfaceInterceptor">
647
+ <summary>
648
+ An instance interceptor that works by generating a
649
+ proxy class on the fly for a single interface.
650
+ </summary>
651
+ </member>
652
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterfaceInterceptor.CanIntercept(System.Type)">
653
+ <summary>
654
+ Can this interceptor generate a proxy for the given type?
655
+ </summary>
656
+ <param name="t">Type to check.</param>
657
+ <returns>True if interception is possible, false if not.</returns>
658
+ </member>
659
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterfaceInterceptor.GetInterceptableMethods(System.Type,System.Type)">
660
+ <summary>
661
+ Returns a sequence of methods on the given type that can be
662
+ intercepted.
663
+ </summary>
664
+ <param name="interceptedType">Type that was specified when this interceptor
665
+ was created (typically an interface).</param>
666
+ <param name="implementationType">The concrete type of the implementing object.</param>
667
+ <returns>Sequence of <see cref="T:System.Reflection.MethodInfo"/> objects.</returns>
668
+ </member>
669
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterfaceInterceptor.CreateProxy(System.Type,System.Object,System.Type[])">
670
+ <summary>
671
+ Create a proxy object that provides interception for <paramref name="target"/>.
672
+ </summary>
673
+ <param name="t">Type to generate the proxy of.</param>
674
+ <param name="target">Object to create the proxy for.</param>
675
+ <param name="additionalInterfaces">Additional interfaces the proxy must implement.</param>
676
+ <returns>The proxy object.</returns>
677
+ </member>
678
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InterfaceInterceptorClassGenerator">
679
+ <summary>
680
+ A class used to generate proxy classes for doing interception on
681
+ interfaces.
682
+ </summary>
683
+ </member>
684
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterfaceInterceptorClassGenerator.#ctor(System.Type,System.Collections.Generic.IEnumerable{System.Type})">
685
+ <summary>
686
+ Create an instance of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.InterfaceInterceptorClassGenerator"/> that
687
+ can construct an intercepting proxy for the given interface.
688
+ </summary>
689
+ <param name="typeToIntercept">Type of the interface to intercept.</param>
690
+ <param name="additionalInterfaces">Additional interfaces the proxy must implement.</param>
691
+ </member>
692
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterfaceInterceptorClassGenerator.CreateProxyType">
693
+ <summary>
694
+ Create the type to proxy the requested interface
695
+ </summary>
696
+ <returns></returns>
697
+ </member>
698
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InterfaceMethodOverride">
699
+ <summary>
700
+ Represents the implementation of an interface method.
701
+ </summary>
702
+ </member>
703
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterfaceMethodOverride.BuildAdditionalInterfaceNonImplementedException">
704
+ <summary>
705
+ Used to throw an <see cref="T:System.NotImplementedException"/> for non-implemented methods on the
706
+ additional interfaces.
707
+ </summary>
708
+ </member>
709
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptingRealProxy">
710
+ <summary>
711
+ This class provides the remoting-based interception mechanism. It is
712
+ invoked by a call on the corresponding TransparentProxy
713
+ object. It routes calls through the handlers as appropriate.
714
+ </summary>
715
+ </member>
716
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptingRealProxy.#ctor(System.Object,System.Type,System.Type[])">
717
+ <summary>
718
+ Creates a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptingRealProxy"/> instance that applies
719
+ the given policies to the given target object.
720
+ </summary>
721
+ <param name="target">Target object to intercept calls to.</param>
722
+ <param name="classToProxy">Type to return as the type being proxied.</param>
723
+ <param name="additionalInterfaces">Additional interfaces the proxy must implement.</param>
724
+ </member>
725
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptingRealProxy.AddInterceptionBehavior(Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior)">
726
+ <summary>
727
+ Adds a <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior"/> to the proxy.
728
+ </summary>
729
+ <param name="interceptor">The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior"/> to add.</param>
730
+ </member>
731
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptingRealProxy.CanCastTo(System.Type,System.Object)">
732
+ <summary>
733
+ Checks whether the proxy that represents the specified object type can be cast to the type represented by the <see cref="T:System.Runtime.Remoting.IRemotingTypeInfo"></see> interface.
734
+ </summary>
735
+
736
+ <returns>
737
+ true if cast will succeed; otherwise, false.
738
+ </returns>
739
+
740
+ <param name="fromType">The type to cast to. </param>
741
+ <param name="o">The object for which to check casting. </param>
742
+ <exception cref="T:System.Security.SecurityException">The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. </exception>
743
+ </member>
744
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptingRealProxy.Invoke(System.Runtime.Remoting.Messaging.IMessage)">
745
+ <summary>
746
+ Executes a method call represented by the <paramref name="msg"/>
747
+ parameter. The CLR will call this method when a method is called
748
+ on the TransparentProxy. This method runs the invocation through
749
+ the call handler pipeline and finally sends it down to the
750
+ target object, and then back through the pipeline.
751
+ </summary>
752
+ <param name="msg">An <see cref="T:System.Runtime.Remoting.Messaging.IMessage"/> object that contains the information
753
+ about the method call.</param>
754
+ <returns>An <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodReturn"/> object contains the
755
+ information about the target method's return value.</returns>
756
+ </member>
757
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.InterceptingRealProxy.Target">
758
+ <summary>
759
+ Returns the target of this intercepted call.
760
+ </summary>
761
+ <value>The target object.</value>
762
+ </member>
763
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.InterceptingRealProxy.TypeName">
764
+ <summary>
765
+ Gets or sets the fully qualified type name of the server object in a <see cref="T:System.Runtime.Remoting.ObjRef"></see>.
766
+ </summary>
767
+
768
+ <value>
769
+ The fully qualified type name of the server object in a <see cref="T:System.Runtime.Remoting.ObjRef"></see>.
770
+ </value>
771
+
772
+ <exception cref="T:System.Security.SecurityException">The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. </exception><PermissionSet><IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="Infrastructure" /></PermissionSet>
773
+ </member>
774
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyInterceptor">
775
+ <summary>
776
+ An instance interceptor that uses remoting proxies to do the
777
+ interception.
778
+ </summary>
779
+ </member>
780
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyInterceptor.CanIntercept(System.Type)">
781
+ <summary>
782
+ Can this interceptor generate a proxy for the given type?
783
+ </summary>
784
+ <param name="t">Type to check.</param>
785
+ <returns>True if interception is possible, false if not.</returns>
786
+ </member>
787
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyInterceptor.GetInterceptableMethods(System.Type,System.Type)">
788
+ <summary>
789
+ Returns a sequence of methods on the given type that can be
790
+ intercepted.
791
+ </summary>
792
+ <param name="interceptedType">The intercepted type.</param>
793
+ <param name="implementationType">The concrete type of the implementing object.</param>
794
+ <returns>Sequence of <see cref="T:System.Reflection.MethodInfo"/> objects.</returns>
795
+ </member>
796
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyInterceptor.CreateProxy(System.Type,System.Object,System.Type[])">
797
+ <summary>
798
+ Create a proxy object that provides interception for <paramref name="target"/>.
799
+ </summary>
800
+ <param name="t">Type to generate the proxy of.</param>
801
+ <param name="target">Object to create the proxy for.</param>
802
+ <param name="additionalInterfaces">Additional interfaces the proxy must implement.</param>
803
+ <returns>The proxy object.</returns>
804
+ </member>
805
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo">
806
+ <summary>
807
+ A dumb data holder that returns the methodinfo for both an
808
+ interface method and the method that implements that interface
809
+ method.
810
+ </summary>
811
+ </member>
812
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo.#ctor(System.Reflection.MethodInfo,System.Reflection.MethodInfo)">
813
+ <summary>
814
+ Construct a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo"/> which holds
815
+ the given <see cref="T:System.Reflection.MethodInfo"/> objects.
816
+ </summary>
817
+ <param name="interfaceMethodInfo">MethodInfo for the interface method (may be null if no interface).</param>
818
+ <param name="implementationMethodInfo">MethodInfo for implementing method.</param>
819
+ </member>
820
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo.Equals(System.Object)">
821
+ <summary>
822
+ Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
823
+ </summary>
824
+ <returns>
825
+ true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
826
+ </returns>
827
+ <param name="obj">
828
+ The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />.
829
+ </param>
830
+ <exception cref="T:System.NullReferenceException">
831
+ The <paramref name="obj" /> parameter is null.
832
+ </exception><filterpriority>2</filterpriority>
833
+ </member>
834
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo.GetHashCode">
835
+ <summary>
836
+ Serves as a hash function for a particular type.
837
+ </summary>
838
+ <returns>
839
+ A hash code for the current <see cref="T:System.Object" />.
840
+ </returns>
841
+ <filterpriority>2</filterpriority>
842
+ </member>
843
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo.op_Equality(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo,Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo)">
844
+ <summary>
845
+ Standard equals operator
846
+ </summary>
847
+ </member>
848
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo.op_Inequality(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo,Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo)">
849
+ <summary>
850
+ standard not equal operator.
851
+ </summary>
852
+ </member>
853
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo.ToString">
854
+ <summary>
855
+ Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
856
+ </summary>
857
+ <returns>
858
+ A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
859
+ </returns>
860
+ <filterpriority>2</filterpriority>
861
+ </member>
862
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo.InterfaceMethodInfo">
863
+ <summary>
864
+ The interface method MethodInfo.
865
+ </summary>
866
+ </member>
867
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo.ImplementationMethodInfo">
868
+ <summary>
869
+ The implementing method MethodInfo.
870
+ </summary>
871
+ </member>
872
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor">
873
+ <summary>
874
+ Interface for interceptor objects that generate
875
+ proxy types.
876
+ </summary>
877
+ </member>
878
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor.CreateProxyType(System.Type,System.Type[])">
879
+ <summary>
880
+ Create a type to proxy for the given type <paramref name="t"/>.
881
+ </summary>
882
+ <param name="t">Type to proxy.</param>
883
+ <param name="additionalInterfaces">Additional interfaces the proxy must implement.</param>
884
+ <returns>New type that can be instantiated instead of the
885
+ original type t, and supports interception.</returns>
886
+ </member>
887
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.FixedTypeInterceptionPolicy">
888
+ <summary>
889
+ Implementation of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptionPolicy"/> that returns a precreated
890
+ interceptor object.
891
+ </summary>
892
+ </member>
893
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.FixedTypeInterceptionPolicy.#ctor(Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor)">
894
+ <summary>
895
+ Create a new instance of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.FixedTypeInterceptionPolicy"/> that
896
+ uses the given <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor"/>.
897
+ </summary>
898
+ <param name="interceptor">Interceptor to use.</param>
899
+ </member>
900
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.FixedTypeInterceptionPolicy.GetInterceptor(Microsoft.Practices.ObjectBuilder2.IBuilderContext)">
901
+ <summary>
902
+ Interceptor to use to create type proxy
903
+ </summary>
904
+ <param name="context">Context for current build operation.</param>
905
+ </member>
906
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.FixedTypeInterceptionPolicy.ProxyType">
907
+ <summary>
908
+ Cache for proxied type.
909
+ </summary>
910
+ </member>
911
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.TypeInterceptionStrategy">
912
+ <summary>
913
+ A <see cref="T:Microsoft.Practices.ObjectBuilder2.IBuilderStrategy"/> that hooks up type interception. It looks for
914
+ a <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptionPolicy"/> for the current build key, or the current
915
+ build type. If present, it substitutes types so that that proxy class gets
916
+ built up instead. On the way back, it hooks up the appropriate handlers.
917
+ </summary>
918
+ </member>
919
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TypeInterceptionStrategy.PreBuildUp(Microsoft.Practices.ObjectBuilder2.IBuilderContext)">
920
+ <summary>
921
+ Called during the chain of responsibility for a build operation. The
922
+ PreBuildUp method is called when the chain is being executed in the
923
+ forward direction.
924
+ </summary>
925
+ <remarks>In this class, PreBuildUp is responsible for figuring out if the
926
+ class is proxiable, and if so, replacing it with a proxy class.</remarks>
927
+ <param name="context">Context of the build operation.</param>
928
+ </member>
929
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TypeInterceptionStrategy.PostBuildUp(Microsoft.Practices.ObjectBuilder2.IBuilderContext)">
930
+ <summary>
931
+ Called during the chain of responsibility for a build operation. The
932
+ PostBuildUp method is called when the chain has finished the PreBuildUp
933
+ phase and executes in reverse order from the PreBuildUp calls.
934
+ </summary>
935
+ <remarks>In this class, PostBuildUp checks to see if the object was proxyable,
936
+ and if it was, wires up the handlers.</remarks>
937
+ <param name="context">Context of the build operation.</param>
938
+ </member>
939
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptingProxyImplementor">
940
+ <summary>
941
+ This class provides the code needed to implement the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptingProxy"/>
942
+ interface on a class.
943
+ </summary>
944
+ </member>
945
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.MethodOverrideParameterMapper">
946
+ <summary>
947
+ This class handles parameter type mapping. When we generate
948
+ a generic method, we need to make sure our parameter type
949
+ objects line up with the generic parameters on the generated
950
+ method, not on the one we're overriding.
951
+ </summary>
952
+ </member>
953
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.MethodSorter">
954
+ <summary>
955
+ A utility class that takes a set of <see cref="T:System.Reflection.MethodInfo"/>s
956
+ and pulls out shadowed methods, only returning the ones that
957
+ are actually accessible to be overriden.
958
+ </summary>
959
+ </member>
960
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodSorter.GroupMethodsByName(System.Collections.Generic.IEnumerable{System.Reflection.MethodInfo})">
961
+ <summary>
962
+ Take the list of methods and put them together into lists index by method name.
963
+ </summary>
964
+ <param name="methodsToSort">Methods to sort through.</param>
965
+ </member>
966
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodSorter.RemoveHiddenOverloads(System.Collections.Generic.IEnumerable{System.Reflection.MethodInfo})">
967
+ <summary>
968
+ Given a list of overloads for a method, return only those methods
969
+ that are actually visible. In other words, if there's a "new SomeType" method
970
+ somewhere, return only the new one, not the one from the base class
971
+ that's now hidden.
972
+ </summary>
973
+ <param name="methods">Sequence of methods to process.</param>
974
+ <returns>Sequence of returned methods.</returns>
975
+ </member>
976
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodSorter.GroupOverloadedMethods(System.Collections.Generic.IList{System.Reflection.MethodInfo})">
977
+ <summary>
978
+ Take a semi-randomly ordered set of methods on a type and
979
+ sort them into groups by name and by parameter list.
980
+ </summary>
981
+ <param name="sortedMethods">The list of methods.</param>
982
+ <returns>Sequence of lists of methods, grouped by method name.</returns>
983
+ </member>
984
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodSorter.SelectMostDerivedOverload(System.Collections.Generic.IList{System.Reflection.MethodInfo})">
985
+ <summary>
986
+ Given a set of hiding overloads, return only the currently visible one.
987
+ </summary>
988
+ <param name="overloads">The set of overloads.</param>
989
+ <returns>The most visible one.</returns>
990
+ </member>
991
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodSorter.DeclarationDepth(System.Reflection.MethodInfo)">
992
+ <summary>
993
+ Given a method, return a value indicating how deeply in the
994
+ inheritance hierarchy the method is declared. Current type = 0,
995
+ parent = 1, grandparent = 2, etc.
996
+ </summary>
997
+ <param name="method">Method to check.</param>
998
+ <returns>Declaration depth</returns>
999
+ </member>
1000
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodSorter.CompareMethodInfosByParameterLists(System.Reflection.MethodInfo,System.Reflection.MethodInfo)">
1001
+ <summary>
1002
+ A <see cref="T:System.Comparison`1"/> implementation that can compare two <see cref="T:System.Reflection.MethodInfo"/>
1003
+ based on their parameter lists.
1004
+ </summary>
1005
+ <param name="left">First <see cref="T:System.Reflection.MethodInfo"/> to compare.</param>
1006
+ <param name="right">Second <see cref="T:System.Reflection.MethodInfo"/> to compare.</param>
1007
+ <returns>&lt; 0, 0, or &gt; 0 based on which one is "greater" than the other.</returns>
1008
+ </member>
1009
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodSorter.CompareParameterLists(System.Reflection.ParameterInfo[],System.Reflection.ParameterInfo[])">
1010
+ <summary>
1011
+ Compare two parameter lists.
1012
+ </summary>
1013
+ <param name="left">First parameter list.</param>
1014
+ <param name="right">Second parameter list.</param>
1015
+ <returns>&lt; 0, 0, or &gt; 0.</returns>
1016
+ </member>
1017
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodSorter.CompareParameterInfo(System.Reflection.ParameterInfo,System.Reflection.ParameterInfo)">
1018
+ <summary>
1019
+ Compare two <see cref="T:System.Reflection.ParameterInfo"/> objects by type.
1020
+ </summary>
1021
+ <param name="left">First <see cref="T:System.Reflection.ParameterInfo"/></param>
1022
+ <param name="right">First <see cref="T:System.Reflection.ParameterInfo"/></param>
1023
+ <returns>&lt; 0, 0, or &gt; 0</returns>
1024
+ </member>
1025
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodInterceptor">
1026
+ <summary>
1027
+ A type based interceptor that works by generated a new class
1028
+ on the fly that derives from the target class.
1029
+ </summary>
1030
+ </member>
1031
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodInterceptor.CanIntercept(System.Type)">
1032
+ <summary>
1033
+ Can this interceptor generate a proxy for the given type?
1034
+ </summary>
1035
+ <param name="t">Type to check.</param>
1036
+ <returns>True if interception is possible, false if not.</returns>
1037
+ </member>
1038
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodInterceptor.GetInterceptableMethods(System.Type,System.Type)">
1039
+ <summary>
1040
+ Returns a sequence of methods on the given type that can be
1041
+ intercepted.
1042
+ </summary>
1043
+ <param name="interceptedType">The intercepted type.</param>
1044
+ <param name="implementationType">The concrete type of the implementing object.</param>
1045
+ <returns>Sequence of <see cref="T:System.Reflection.MethodInfo"/> objects.</returns>
1046
+ </member>
1047
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodInterceptor.CreateProxyType(System.Type,System.Type[])">
1048
+ <summary>
1049
+ Create a type to proxy for the given type <paramref name="t"/>.
1050
+ </summary>
1051
+ <param name="t">Type to proxy.</param>
1052
+ <param name="additionalInterfaces">Additional interfaces the proxy must implement.</param>
1053
+ <returns>New type that can be instantiated instead of the
1054
+ original type t, and supports interception.</returns>
1055
+ </member>
1056
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehaviorsPolicy">
1057
+ <summary>
1058
+ An <see cref="T:Microsoft.Practices.ObjectBuilder2.IBuilderPolicy"/> that returns a sequence of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior"/>
1059
+ instances for an intercepted object.
1060
+ </summary>
1061
+ </member>
1062
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehaviorsPolicy.GetEffectiveBehaviors(Microsoft.Practices.ObjectBuilder2.IBuilderContext,Microsoft.Practices.Unity.InterceptionExtension.IInterceptor,System.Type,System.Type)">
1063
+ <summary>
1064
+ Get the set of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior"/> object to be used for the given type and
1065
+ interceptor.
1066
+ </summary>
1067
+ <remarks>
1068
+ This method will return a sequence of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior"/>s. These behaviors will
1069
+ only be included if their <see cref="P:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior.WillExecute"/> properties are true.
1070
+ </remarks>
1071
+ <param name="context">Context for the current build operation.</param>
1072
+ <param name="interceptor">Interceptor that will be used to invoke the behavior.</param>
1073
+ <param name="typeToIntercept">Type that interception was requested on.</param>
1074
+ <param name="implementationType">Type that implements the interception.</param>
1075
+ <returns></returns>
1076
+ </member>
1077
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehaviorsPolicy.BehaviorKeys">
1078
+ <summary>
1079
+ Get the set of <see cref="T:Microsoft.Practices.ObjectBuilder2.NamedTypeBuildKey"/> that can be used to resolve the
1080
+ behaviors.
1081
+ </summary>
1082
+ </member>
1083
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipelineKey">
1084
+ <summary>
1085
+ Key for handler pipelines.
1086
+ </summary>
1087
+ </member>
1088
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipelineKey.ForMethod(System.Reflection.MethodBase)">
1089
+ <summary>
1090
+ Creates a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipelineKey"/> for the supplied method.
1091
+ </summary>
1092
+ <param name="methodBase">The method for the key.</param>
1093
+ <returns>The new key.</returns>
1094
+ </member>
1095
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipelineKey.Equals(System.Object)">
1096
+ <summary>
1097
+ Compare two <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipelineKey"/> instances.
1098
+ </summary>
1099
+ <param name="obj">Object to compare to.</param>
1100
+ <returns>True if the two keys are equal, false if not.</returns>
1101
+ </member>
1102
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipelineKey.GetHashCode">
1103
+ <summary>
1104
+ Calculate a hash code for this instance.
1105
+ </summary>
1106
+ <returns>A hash code.</returns>
1107
+ </member>
1108
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipelineKey.op_Equality(Microsoft.Practices.Unity.InterceptionExtension.HandlerPipelineKey,Microsoft.Practices.Unity.InterceptionExtension.HandlerPipelineKey)">
1109
+ <summary>
1110
+ Compare two <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipelineKey"/> instances for equality.
1111
+ </summary>
1112
+ <param name="left">First of the two keys to compare.</param>
1113
+ <param name="right">Second of the two keys to compare.</param>
1114
+ <returns>True if the values of the keys are the same, else false.</returns>
1115
+ </member>
1116
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipelineKey.op_Inequality(Microsoft.Practices.Unity.InterceptionExtension.HandlerPipelineKey,Microsoft.Practices.Unity.InterceptionExtension.HandlerPipelineKey)">
1117
+ <summary>
1118
+ Compare two <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipelineKey"/> instances for inequality.
1119
+ </summary>
1120
+ <param name="left">First of the two keys to compare.</param>
1121
+ <param name="right">Second of the two keys to compare.</param>
1122
+ <returns>false if the values of the keys are the same, else true.</returns>
1123
+ </member>
1124
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipelineKey.Equals(Microsoft.Practices.Unity.InterceptionExtension.HandlerPipelineKey)">
1125
+ <summary>
1126
+ Compare two <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipelineKey"/> instances.
1127
+ </summary>
1128
+ <param name="other">Object to compare to.</param>
1129
+ <returns>True if the two keys are equal, false if not.</returns>
1130
+ </member>
1131
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.PipelineManager">
1132
+ <summary>
1133
+ A collection of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline"/> objects, indexed
1134
+ by <see cref="T:System.Reflection.MethodBase"/>. Returns an empty pipeline if a
1135
+ MethodBase is requested that isn't in the dictionary.
1136
+ </summary>
1137
+ </member>
1138
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PipelineManager.GetPipeline(System.Reflection.MethodBase)">
1139
+ <summary>
1140
+ Retrieve the pipeline assocated with the requested <paramref name="method"/>.
1141
+ </summary>
1142
+ <param name="method">The method for which the pipeline is being requested.</param>
1143
+ <returns>The handler pipeline for the given method. If no pipeline has
1144
+ been set, returns a new empty pipeline.</returns>
1145
+ </member>
1146
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PipelineManager.SetPipeline(System.Reflection.MethodBase,Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline)">
1147
+ <summary>
1148
+ Set a new pipeline for a method.
1149
+ </summary>
1150
+ <param name="method">The method on which the pipeline should be set.</param>
1151
+ <param name="pipeline">The new pipeline.</param>
1152
+ </member>
1153
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PipelineManager.InitializePipeline(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo,System.Collections.Generic.IEnumerable{Microsoft.Practices.Unity.InterceptionExtension.ICallHandler})">
1154
+ <summary>
1155
+ Get the pipeline for the given method, creating it if necessary.
1156
+ </summary>
1157
+ <param name="method">Method to retrieve the pipeline for.</param>
1158
+ <param name="handlers">Handlers to initialize the pipeline with</param>
1159
+ <returns>True if the pipeline has any handlers in it, false if not.</returns>
1160
+ </member>
1161
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.ApplyNoPoliciesAttribute">
1162
+ <summary>
1163
+ Attribute used to indicate that no interception should be applied to
1164
+ the attribute target.
1165
+ </summary>
1166
+ </member>
1167
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.AttributeDrivenPolicy">
1168
+ <summary>
1169
+ A <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy"/> class that reads and constructs handlers
1170
+ based on <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerAttribute"/> on the target.
1171
+ </summary>
1172
+ </member>
1173
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy">
1174
+ <summary>
1175
+ Base class for Policies that specifies which handlers apply to which methods of an object.
1176
+ </summary>
1177
+ <remarks>
1178
+ <para>This base class always enforces the
1179
+ <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ApplyNoPoliciesMatchingRule"/> before
1180
+ passing the checks onto derived classes. This way, derived classes do not need to
1181
+ worry about implementing this check.</para>
1182
+ <para>It also means that derived classes cannot override this rule. This is considered a feature.</para></remarks>
1183
+ </member>
1184
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy.#ctor">
1185
+ <summary>
1186
+ Creates a new empty Policy.
1187
+ </summary>
1188
+ </member>
1189
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy.#ctor(System.String)">
1190
+ <summary>
1191
+ Creates a new empty policy with the given name.
1192
+ </summary>
1193
+ <param name="name">Name of the policy.</param>
1194
+ </member>
1195
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy.Matches(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo)">
1196
+ <summary>
1197
+ Checks if the rules in this policy match the given member info.
1198
+ </summary>
1199
+ <param name="member">MemberInfo to check against.</param>
1200
+ <returns>true if ruleset matches, false if it does not.</returns>
1201
+ </member>
1202
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy.GetHandlersFor(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo,Microsoft.Practices.Unity.IUnityContainer)">
1203
+ <summary>
1204
+ Returns ordered collection of handlers in order that apply to the given member.
1205
+ </summary>
1206
+ <param name="member">Member that may or may not be assigned handlers by this policy.</param>
1207
+ <param name="container">The <see cref="T:Microsoft.Practices.Unity.IUnityContainer"/> to use when creating handlers,
1208
+ if necessary.</param>
1209
+ <returns>Collection of handlers (possibly empty) that apply to this member.</returns>
1210
+ </member>
1211
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy.GetMethodSet(System.Reflection.MethodBase)">
1212
+ <summary>
1213
+ Given a method on an object, return the set of MethodBases for that method,
1214
+ plus any inteface methods that the member implements.
1215
+ </summary>
1216
+ <param name="member">Member to get Method Set for.</param>
1217
+ <returns>The set of methods</returns>
1218
+ </member>
1219
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy.DoesMatch(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo)">
1220
+ <summary>
1221
+ Derived classes implement this method to calculate if the policy
1222
+ will provide any handler to the specified member.
1223
+ </summary>
1224
+ <param name="member">Member to check.</param>
1225
+ <returns>true if policy applies to this member, false if not.</returns>
1226
+ </member>
1227
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy.DoGetHandlersFor(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo,Microsoft.Practices.Unity.IUnityContainer)">
1228
+ <summary>
1229
+ Derived classes implement this method to supply the list of handlers for
1230
+ this specific member.
1231
+ </summary>
1232
+ <param name="member">Member to get handlers for.</param>
1233
+ <param name="container">The <see cref="T:Microsoft.Practices.Unity.IUnityContainer"/> to use when creating handlers,
1234
+ if necessary.</param>
1235
+ <returns>Enumerable collection of handlers for this method.</returns>
1236
+ </member>
1237
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy.Name">
1238
+ <summary>
1239
+ Gets the name of this policy.
1240
+ </summary>
1241
+ <value>The name of the policy.</value>
1242
+ </member>
1243
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.AttributeDrivenPolicy.#ctor">
1244
+ <summary>
1245
+ Constructs a new instance of the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.AttributeDrivenPolicy"/>.
1246
+ </summary>
1247
+ </member>
1248
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.AttributeDrivenPolicy.DoesMatch(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo)">
1249
+ <summary>
1250
+ Derived classes implement this method to calculate if the policy
1251
+ will provide any handler to the specified member.
1252
+ </summary>
1253
+ <param name="member">Member to check.</param>
1254
+ <returns>true if policy applies to this member, false if not.</returns>
1255
+ </member>
1256
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.AttributeDrivenPolicy.DoGetHandlersFor(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo,Microsoft.Practices.Unity.IUnityContainer)">
1257
+ <summary>
1258
+ Derived classes implement this method to supply the list of handlers for
1259
+ this specific member.
1260
+ </summary>
1261
+ <param name="member">Member to get handlers for.</param>
1262
+ <param name="container">The <see cref="T:Microsoft.Practices.Unity.IUnityContainer"/> to use when creating handlers,
1263
+ if necessary.</param>
1264
+ <returns>Enumerable collection of handlers for this method.</returns>
1265
+ </member>
1266
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerAttribute">
1267
+ <summary>
1268
+ Base class for handler attributes used in the attribute-driven
1269
+ interception policy.
1270
+ </summary>
1271
+ </member>
1272
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.HandlerAttribute.CreateHandler(Microsoft.Practices.Unity.IUnityContainer)">
1273
+ <summary>
1274
+ Derived classes implement this method. When called, it
1275
+ creates a new call handler as specified in the attribute
1276
+ configuration.
1277
+ </summary>
1278
+ <param name="container">The <see cref="T:Microsoft.Practices.Unity.IUnityContainer"/> to use when creating handlers,
1279
+ if necessary.</param>
1280
+ <returns>A new call handler object.</returns>
1281
+ </member>
1282
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.HandlerAttribute.Order">
1283
+ <summary>
1284
+ Gets or sets the order in which the handler will be executed.
1285
+ </summary>
1286
+ </member>
1287
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline">
1288
+ <summary>
1289
+ The HandlerPipeline class encapsulates a list of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ICallHandler"/>s
1290
+ and manages calling them in the proper order with the right inputs.
1291
+ </summary>
1292
+ </member>
1293
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline.#ctor">
1294
+ <summary>
1295
+ Creates a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline"/> with an empty pipeline.
1296
+ </summary>
1297
+ </member>
1298
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Practices.Unity.InterceptionExtension.ICallHandler})">
1299
+ <summary>
1300
+ Creates a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline"/> with the given collection
1301
+ of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ICallHandler"/>s.
1302
+ </summary>
1303
+ <param name="handlers">Collection of handlers to add to the pipeline.</param>
1304
+ </member>
1305
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline.Invoke(Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation,Microsoft.Practices.Unity.InterceptionExtension.InvokeHandlerDelegate)">
1306
+ <summary>
1307
+ Execute the pipeline with the given input.
1308
+ </summary>
1309
+ <param name="input">Input to the method call.</param>
1310
+ <param name="target">The ultimate target of the call.</param>
1311
+ <returns>Return value from the pipeline.</returns>
1312
+ </member>
1313
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline.Count">
1314
+ <summary>
1315
+ Get the number of handlers in this pipeline.
1316
+ </summary>
1317
+ </member>
1318
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.ICallHandler">
1319
+ <summary>
1320
+ Handlers implement this interface and are called for each
1321
+ invocation of the pipelines that they're included in.
1322
+ </summary>
1323
+ </member>
1324
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ICallHandler.Invoke(Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation,Microsoft.Practices.Unity.InterceptionExtension.GetNextHandlerDelegate)">
1325
+ <summary>
1326
+ Implement this method to execute your handler processing.
1327
+ </summary>
1328
+ <param name="input">Inputs to the current call to the target.</param>
1329
+ <param name="getNext">Delegate to execute to get the next delegate in the handler
1330
+ chain.</param>
1331
+ <returns>Return value from the target.</returns>
1332
+ </member>
1333
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.ICallHandler.Order">
1334
+ <summary>
1335
+ Order in which the handler will be executed
1336
+ </summary>
1337
+ </member>
1338
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InvokeHandlerDelegate">
1339
+ <summary>
1340
+ This delegate type is the type that points to the next
1341
+ method to execute in the current pipeline.
1342
+ </summary>
1343
+ <param name="input">Inputs to the current method call.</param>
1344
+ <param name="getNext">Delegate to get the next handler in the chain.</param>
1345
+ <returns>Return from the next method in the chain.</returns>
1346
+ </member>
1347
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.GetNextHandlerDelegate">
1348
+ <summary>
1349
+ This delegate type is passed to each handler's Invoke method.
1350
+ Call the delegate to get the next delegate to call to continue
1351
+ the chain.
1352
+ </summary>
1353
+ <returns>Next delegate in the handler chain to call.</returns>
1354
+ </member>
1355
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule">
1356
+ <summary>
1357
+ This interface is implemented by the matching rule classes.
1358
+ A Matching rule is used to see if a particular policy should
1359
+ be applied to a class member.
1360
+ </summary>
1361
+ </member>
1362
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule.Matches(System.Reflection.MethodBase)">
1363
+ <summary>
1364
+ Tests to see if this rule applies to the given member.
1365
+ </summary>
1366
+ <param name="member">Member to test.</param>
1367
+ <returns>true if the rule applies, false if it doesn't.</returns>
1368
+ </member>
1369
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation">
1370
+ <summary>
1371
+ This interface is used to represent the call to a method.
1372
+ An implementation of IMethodInvocation is passed to the
1373
+ call handlers so that they may manipulate the call
1374
+ (typically by changing the parameters) before the final target
1375
+ gets called.
1376
+ </summary>
1377
+ </member>
1378
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation.CreateMethodReturn(System.Object,System.Object[])">
1379
+ <summary>
1380
+ Factory method that creates the correct implementation of
1381
+ IMethodReturn.
1382
+ </summary>
1383
+ <param name="returnValue">Return value to be placed in the IMethodReturn object.</param>
1384
+ <param name="outputs">All arguments passed or returned as out/byref to the method.
1385
+ Note that this is the entire argument list, including in parameters.</param>
1386
+ <returns>New IMethodReturn object.</returns>
1387
+ </member>
1388
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation.CreateExceptionMethodReturn(System.Exception)">
1389
+ <summary>
1390
+ Factory method that creates the correct implementation of
1391
+ IMethodReturn in the presence of an exception.
1392
+ </summary>
1393
+ <param name="ex">Exception to be set into the returned object.</param>
1394
+ <returns>New IMethodReturn object</returns>
1395
+ </member>
1396
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation.Inputs">
1397
+ <summary>
1398
+ Gets the inputs for this call.
1399
+ </summary>
1400
+ </member>
1401
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation.Arguments">
1402
+ <summary>
1403
+ Collection of all parameters to the call: in, out and byref.
1404
+ </summary>
1405
+ </member>
1406
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation.InvocationContext">
1407
+ <summary>
1408
+ Retrieves a dictionary that can be used to store arbitrary additional
1409
+ values. This allows the user to pass values between call handlers.
1410
+ </summary>
1411
+ </member>
1412
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation.Target">
1413
+ <summary>
1414
+ The object that the call is made on.
1415
+ </summary>
1416
+ </member>
1417
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation.MethodBase">
1418
+ <summary>
1419
+ The method on Target that we're aiming at.
1420
+ </summary>
1421
+ </member>
1422
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.IMethodReturn">
1423
+ <summary>
1424
+ This interface is used to represent the return value from a method.
1425
+ An implementation of IMethodReturn is returned by call handlers, and
1426
+ each handler can manipulate the parameters, return value, or add an
1427
+ exception on the way out.
1428
+ </summary>
1429
+ </member>
1430
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IMethodReturn.Outputs">
1431
+ <summary>
1432
+ The collection of output parameters. If the method has no output
1433
+ parameters, this is a zero-length list (never null).
1434
+ </summary>
1435
+ </member>
1436
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IMethodReturn.ReturnValue">
1437
+ <summary>
1438
+ Returns value from the method call.
1439
+ </summary>
1440
+ <remarks>This value is null if the method has no return value.</remarks>
1441
+ </member>
1442
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IMethodReturn.Exception">
1443
+ <summary>
1444
+ If the method threw an exception, the exception object is here.
1445
+ </summary>
1446
+ </member>
1447
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IMethodReturn.InvocationContext">
1448
+ <summary>
1449
+ Retrieves a dictionary that can be used to store arbitrary additional
1450
+ values. This allows the user to pass values between call handlers.
1451
+ </summary>
1452
+ <remarks>This is guaranteed to be the same dictionary that was used
1453
+ in the IMethodInvocation object, so handlers can set context
1454
+ properties in the pre-call phase and retrieve them in the after-call phase.
1455
+ </remarks>
1456
+ </member>
1457
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.Interception">
1458
+ <summary>
1459
+ A Unity container extension that allows you to configure
1460
+ whether an object should be intercepted and which mechanism should
1461
+ be used to do it, and also provides a convenient set of methods for
1462
+ configuring injection for <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.RuleDrivenPolicy"/> instances.
1463
+ </summary>
1464
+ <seealso cref="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetDefaultInterceptorFor(System.Type,Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor)"/>
1465
+ <seealso cref="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetDefaultInterceptorFor(System.Type,Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor)"/>
1466
+ <seealso cref="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetInterceptorFor(System.Type,System.String,Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor)"/>
1467
+ <seealso cref="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetInterceptorFor(System.Type,System.String,Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor)"/>
1468
+ <seealso cref="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.AddPolicy(System.String)"/>
1469
+ </member>
1470
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.Initialize">
1471
+ <summary>
1472
+ Initial the container with this extension's functionality.
1473
+ </summary>
1474
+ </member>
1475
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetInterceptorFor(System.Type,System.String,Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor)">
1476
+ <summary>
1477
+ API to configure interception for a type.
1478
+ </summary>
1479
+ <param name="typeToIntercept">Type to intercept.</param>
1480
+ <param name="name">Name type is registered under.</param>
1481
+ <param name="interceptor">Interceptor to use.</param>
1482
+ <returns>This extension object.</returns>
1483
+ </member>
1484
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetInterceptorFor(System.Type,Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor)">
1485
+ <summary>
1486
+ API to configure interception for a type.
1487
+ </summary>
1488
+ <param name="typeToIntercept">Type to intercept.</param>
1489
+ <param name="interceptor">Interceptor to use.</param>
1490
+ <returns>This extension object.</returns>
1491
+ </member>
1492
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetInterceptorFor``1(System.String,Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor)">
1493
+ <summary>
1494
+ API to configure interception for a type.
1495
+ </summary>
1496
+ <typeparam name="T">Type to intercept</typeparam>
1497
+ <param name="name">Name type is registered under.</param>
1498
+ <param name="interceptor">Interceptor object to use.</param>
1499
+ <returns>This extension object.</returns>
1500
+ </member>
1501
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetInterceptorFor``1(Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor)">
1502
+ <summary>
1503
+ API to configure interception for a type.
1504
+ </summary>
1505
+ <typeparam name="T">Type to intercept</typeparam>
1506
+ <param name="interceptor">Interceptor object to use.</param>
1507
+ <returns>This extension object.</returns>
1508
+ </member>
1509
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetInterceptorFor(System.Type,System.String,Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor)">
1510
+ <summary>
1511
+ API to configure interception for a type.
1512
+ </summary>
1513
+ <param name="typeToIntercept">Type to intercept.</param>
1514
+ <param name="name">Name type is registered under.</param>
1515
+ <param name="interceptor">Instance interceptor to use.</param>
1516
+ <returns>This extension object.</returns>
1517
+ </member>
1518
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetDefaultInterceptorFor(System.Type,Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor)">
1519
+ <summary>
1520
+ Set the interceptor for a type, regardless of what name is used to resolve the instances.
1521
+ </summary>
1522
+ <param name="typeToIntercept">Type to intercept</param>
1523
+ <param name="interceptor">Interceptor instance.</param>
1524
+ <returns>This extension object.</returns>
1525
+ </member>
1526
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetDefaultInterceptorFor``1(Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor)">
1527
+ <summary>
1528
+ Set the interceptor for a type, regardless of what name is used to resolve the instances.
1529
+ </summary>
1530
+ <typeparam name="TTypeToIntercept">Type to intercept</typeparam>
1531
+ <param name="interceptor">Interceptor instance.</param>
1532
+ <returns>This extension object.</returns>
1533
+ </member>
1534
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetInterceptorFor(System.Type,Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor)">
1535
+ <summary>
1536
+ API to configure interception for a type.
1537
+ </summary>
1538
+ <param name="typeToIntercept">Type to intercept.</param>
1539
+ <param name="interceptor">Instance interceptor to use.</param>
1540
+ <returns>This extension object.</returns>
1541
+ </member>
1542
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetInterceptorFor``1(System.String,Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor)">
1543
+ <summary>
1544
+ API to configure interception for a type.
1545
+ </summary>
1546
+ <typeparam name="T">Type to intercept.</typeparam>
1547
+ <param name="name">Name type is registered under.</param>
1548
+ <param name="interceptor">Instance interceptor to use.</param>
1549
+ <returns>This extension object.</returns>
1550
+ </member>
1551
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetInterceptorFor``1(Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor)">
1552
+ <summary>
1553
+ API to configure interception for a type.
1554
+ </summary>
1555
+ <typeparam name="T">Type to intercept.</typeparam>
1556
+ <param name="interceptor">Instance interceptor to use.</param>
1557
+ <returns>This extension object.</returns>
1558
+ </member>
1559
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetDefaultInterceptorFor(System.Type,Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor)">
1560
+ <summary>
1561
+ API to configure the default interception settings for a type.
1562
+ </summary>
1563
+ <param name="typeToIntercept">Type the interception is being configured for.</param>
1564
+ <param name="interceptor">The interceptor to use by default.</param>
1565
+ <returns>This extension object.</returns>
1566
+ </member>
1567
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetDefaultInterceptorFor``1(Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor)">
1568
+ <summary>
1569
+ API to configure the default interception settings for a type.
1570
+ </summary>
1571
+ <typeparam name="TTypeToIntercept">Type the interception is being configured for.</typeparam>
1572
+ <param name="interceptor">The interceptor to use by default.</param>
1573
+ <returns>This extension object.</returns>
1574
+ </member>
1575
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.AddPolicy(System.String)">
1576
+ <summary>
1577
+ Starts the definition of a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.RuleDrivenPolicy"/>.
1578
+ </summary>
1579
+ <param name="policyName">The policy name.</param>
1580
+ <returns></returns>
1581
+ <remarks>This is a convenient way for defining a new policy and the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule"/>
1582
+ instances and <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ICallHandler"/> instances that are required by a policy.
1583
+ <para/>
1584
+ This mechanism is just a shortcut for what can be natively expressed by wiring up together objects
1585
+ with repeated calls to the <see cref="M:Microsoft.Practices.Unity.IUnityContainer.RegisterType(System.Type,System.Type,System.String,Microsoft.Practices.Unity.LifetimeManager,Microsoft.Practices.Unity.InjectionMember[])"/> method.
1586
+ </remarks>
1587
+ </member>
1588
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.IParameterCollection">
1589
+ <summary>
1590
+ This interface represents a list of either input or output
1591
+ parameters. It implements a fixed size list, plus a couple
1592
+ of other utility methods.
1593
+ </summary>
1594
+ </member>
1595
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IParameterCollection.ParameterName(System.Int32)">
1596
+ <summary>
1597
+ Gets the name of a parameter based on index.
1598
+ </summary>
1599
+ <param name="index">Index of parameter to get the name for.</param>
1600
+ <returns>Name of the requested parameter.</returns>
1601
+ </member>
1602
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IParameterCollection.GetParameterInfo(System.Int32)">
1603
+ <summary>
1604
+ Gets the ParameterInfo for a particular parameter by index.
1605
+ </summary>
1606
+ <param name="index">Index for this parameter.</param>
1607
+ <returns>ParameterInfo object describing the parameter.</returns>
1608
+ </member>
1609
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IParameterCollection.GetParameterInfo(System.String)">
1610
+ <summary>
1611
+ Gets the ParameterInfo for a particular parameter by name.
1612
+ </summary>
1613
+ <param name="parameterName">Name of the parameter.</param>
1614
+ <returns>ParameterInfo object for the named parameter.</returns>
1615
+ </member>
1616
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IParameterCollection.Item(System.String)">
1617
+ <summary>
1618
+ Fetches a parameter's value by name.
1619
+ </summary>
1620
+ <param name="parameterName">parameter name.</param>
1621
+ <returns>value of the named parameter.</returns>
1622
+ </member>
1623
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.MatchingRuleSet">
1624
+ <summary>
1625
+ A <cref see="T:MatchingRuleSet"/> is a matching rule that
1626
+ is a collection of other matching rules. All the contained
1627
+ rules much match for the set to match.
1628
+ </summary>
1629
+ </member>
1630
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MatchingRuleSet.Matches(System.Reflection.MethodBase)">
1631
+ <summary>
1632
+ Tests the given member against the ruleset. The member matches
1633
+ if all contained rules in the ruleset match against it.
1634
+ </summary>
1635
+ <remarks>If the ruleset is empty, then Matches passes since no rules failed.</remarks>
1636
+ <param name="member">MemberInfo to test.</param>
1637
+ <returns>true if all contained rules match, false if any fail.</returns>
1638
+ </member>
1639
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.ApplyNoPoliciesMatchingRule">
1640
+ <summary>
1641
+ A <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule"/> implementation that fails to match
1642
+ if the method in question has the ApplyNoPolicies attribute on it.
1643
+ </summary>
1644
+ </member>
1645
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ApplyNoPoliciesMatchingRule.Matches(System.Reflection.MethodBase)">
1646
+ <summary>
1647
+ Check if the <paramref name="member"/> matches this rule.
1648
+ </summary>
1649
+ <remarks>This rule returns true if the member does NOT have the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ApplyNoPoliciesAttribute"/>
1650
+ on it, or a containing type doesn't have the attribute.</remarks>
1651
+ <param name="member">Member to check.</param>
1652
+ <returns>True if the rule matches, false if it doesn't.</returns>
1653
+ </member>
1654
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.AssemblyMatchingRule">
1655
+ <summary>
1656
+ An <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule"/> that matches the assembly name of the
1657
+ given member.
1658
+ </summary>
1659
+ </member>
1660
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.AssemblyMatchingRule.#ctor(System.String)">
1661
+ <summary>
1662
+ Constructs a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.AssemblyMatchingRule"/> with the given
1663
+ assembly name (or partial name).
1664
+ </summary>
1665
+ <param name="assemblyName">Assembly name to match.</param>
1666
+ </member>
1667
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.AssemblyMatchingRule.#ctor(System.Reflection.Assembly)">
1668
+ <summary>
1669
+ Constructs a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.AssemblyMatchingRule"/> that matches
1670
+ against the given assembly.
1671
+ </summary>
1672
+ <param name="assembly">Assembly to match.</param>
1673
+ </member>
1674
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.AssemblyMatchingRule.Matches(System.Reflection.MethodBase)">
1675
+ <summary>
1676
+ Determines if the supplied <paramref name="member"/> matches the rule.
1677
+ </summary>
1678
+ <remarks>
1679
+ This rule matches if the assembly containing the given <paramref name="member"/>
1680
+ matches the name given. The rule used for matches lets you include the parts
1681
+ of the assembly name in order. You can specify assembly name only, assembly and version,
1682
+ assembly, version and culture, or the fully qualified assembly name.
1683
+ </remarks>
1684
+ <param name="member">Member to check.</param>
1685
+ <returns>true if <paramref name="member"/> is in a matching assembly, false if not.</returns>
1686
+ </member>
1687
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.AttributeDrivenPolicyMatchingRule">
1688
+ <summary>
1689
+ An implementation of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule"/> that checks to see if the
1690
+ member (or type containing that member) have any <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerAttribute"/>s.
1691
+ </summary>
1692
+ </member>
1693
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.AttributeDrivenPolicyMatchingRule.Matches(System.Reflection.MethodBase)">
1694
+ <summary>
1695
+ Checks to see if <paramref name="member"/> matches the rule.
1696
+ </summary>
1697
+ <remarks>Returns true if any <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerAttribute"/>s are present on the method
1698
+ or the type containing that method.</remarks>
1699
+ <param name="member">Member to check.</param>
1700
+ <returns>true if member matches, false if not.</returns>
1701
+ </member>
1702
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.CustomAttributeMatchingRule">
1703
+ <summary>
1704
+ An implementation of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule"/> that checks to see if
1705
+ the member tested has an arbitrary attribute applied.
1706
+ </summary>
1707
+ </member>
1708
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.CustomAttributeMatchingRule.#ctor(System.Type,System.Boolean)">
1709
+ <summary>
1710
+ Constructs a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.CustomAttributeMatchingRule"/>.
1711
+ </summary>
1712
+ <param name="attributeType">Attribute to match.</param>
1713
+ <param name="inherited">If true, checks the base class for attributes as well.</param>
1714
+ </member>
1715
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.CustomAttributeMatchingRule.Matches(System.Reflection.MethodBase)">
1716
+ <summary>
1717
+ Checks to see if the given <paramref name="member"/> matches the rule.
1718
+ </summary>
1719
+ <param name="member">Member to check.</param>
1720
+ <returns>true if it matches, false if not.</returns>
1721
+ </member>
1722
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.MatchingInfo">
1723
+ <summary>
1724
+ Class used for storing information about a single name/ignoreCase
1725
+ pair. This class is also used as a base class for other classes that
1726
+ need this pair plus some other properties.
1727
+ </summary>
1728
+ </member>
1729
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MatchingInfo.#ctor">
1730
+ <summary>
1731
+ Constructs an empty <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MatchingInfo"/> object with empty
1732
+ string and ignoreCase = false.
1733
+ </summary>
1734
+ </member>
1735
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MatchingInfo.#ctor(System.String)">
1736
+ <summary>
1737
+ Constructs a <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MatchingInfo"/> object that matches the given
1738
+ string. IgnoreCase is false.
1739
+ </summary>
1740
+ <param name="nameToMatch">The name to match.</param>
1741
+ </member>
1742
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MatchingInfo.#ctor(System.String,System.Boolean)">
1743
+ <summary>
1744
+ Constructs a <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MatchingInfo"/> object that matches the
1745
+ given string, setting the ignoreCase flag to the given value.
1746
+ </summary>
1747
+ <param name="nameToMatch">The name to match.</param>
1748
+ <param name="ignoreCase">true to do case insensitive comparison, false to do case sensitive.</param>
1749
+ </member>
1750
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.MatchingInfo.Match">
1751
+ <summary>
1752
+ Gets or sets the name to match.
1753
+ </summary>
1754
+ <value>The name to match.</value>
1755
+ </member>
1756
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.MatchingInfo.IgnoreCase">
1757
+ <summary>
1758
+ Gets or sets whether to do case sensitive comparisons of Match.
1759
+ </summary>
1760
+ <value>If false, case sensitive comparison. If true, case insensitive comparisons.</value>
1761
+ </member>
1762
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.MemberNameMatchingRule">
1763
+ <summary>
1764
+ A matching rule that matches when the given member name is
1765
+ the same as the one supplied in the constructor.
1766
+ </summary>
1767
+ </member>
1768
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MemberNameMatchingRule.#ctor(System.String)">
1769
+ <summary>
1770
+ Create a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MemberNameMatchingRule"/> that matches the
1771
+ given member name. Wildcards are allowed.
1772
+ </summary>
1773
+ <param name="nameToMatch">Name to match against. Comparison is case sensitive.</param>
1774
+ </member>
1775
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MemberNameMatchingRule.#ctor(System.String,System.Boolean)">
1776
+ <summary>
1777
+ Create a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MemberNameMatchingRule"/> that matches the
1778
+ given member name. Wildcards are allowed.
1779
+ </summary>
1780
+ <param name="nameToMatch">Name to match against.</param>
1781
+ <param name="ignoreCase">If false, name comparisons are case sensitive. If true, name comparisons are case insensitive.</param>
1782
+ </member>
1783
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MemberNameMatchingRule.#ctor(System.Collections.Generic.IEnumerable{System.String})">
1784
+ <summary>
1785
+ Create a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MemberNameMatchingRule"/> that matches the
1786
+ given member names. Wildcards are allowed.
1787
+ </summary>
1788
+ <param name="namesToMatch">collections of names to match. If any of these patterns match, the rule matches. Comparisons are case sensitive.</param>
1789
+ </member>
1790
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MemberNameMatchingRule.#ctor(System.Collections.Generic.IEnumerable{System.String},System.Boolean)">
1791
+ <summary>
1792
+ Create a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MemberNameMatchingRule"/> that matches the
1793
+ given member names. Wildcards are allowed.
1794
+ </summary>
1795
+ <param name="namesToMatch">Collections of names to match. If any of these patterns match, the rule matches. </param>
1796
+ <param name="ignoreCase">If false, name comparisons are case sensitive. If true, name comparisons are case insensitive.</param>
1797
+ </member>
1798
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MemberNameMatchingRule.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Practices.Unity.InterceptionExtension.MatchingInfo})">
1799
+ <summary>
1800
+ Create a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MemberNameMatchingRule"/> that matches
1801
+ one of the given member names. Wildcards are allowed.
1802
+ </summary>
1803
+ <param name="matches">List of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MatchingInfo"/> objects containing
1804
+ the pattern to match and case sensitivity flag.</param>
1805
+ </member>
1806
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MemberNameMatchingRule.Matches(System.Reflection.MethodBase)">
1807
+ <summary>
1808
+ Check if the given <paramref name="member"/> matches one of this
1809
+ object's matching patterns.
1810
+ </summary>
1811
+ <param name="member">Member to check.</param>
1812
+ <returns>True if matches, false if not.</returns>
1813
+ </member>
1814
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.MethodSignatureMatchingRule">
1815
+ <summary>
1816
+ Match methods with the given names and method signature.
1817
+ </summary>
1818
+ </member>
1819
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodSignatureMatchingRule.#ctor(System.String,System.Collections.Generic.IEnumerable{System.String},System.Boolean)">
1820
+ <summary>
1821
+ Creates a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MethodSignatureMatchingRule"/> that matches methods
1822
+ with the given name, with parameter types matching the given list.
1823
+ </summary>
1824
+ <param name="methodName">Method name to match. Wildcards are allowed.</param>
1825
+ <param name="parameterTypeNames">Parameter type names to match, in order. Wildcards are allowed.</param>
1826
+ <param name="ignoreCase">If false, name comparisons are case sensitive. If true, name comparisons are case insensitive.</param>
1827
+ </member>
1828
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodSignatureMatchingRule.#ctor(System.String,System.Collections.Generic.IEnumerable{System.String})">
1829
+ <summary>
1830
+ Create a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MethodSignatureMatchingRule"/> that matches methods
1831
+ with the given name, with parameter types matching the given list.
1832
+ </summary>
1833
+ <remarks>Name comparisons are case sensitive.</remarks>
1834
+ <param name="methodName">Method name to match. Wildcards are allowed.</param>
1835
+ <param name="parameterTypeNames">Parameter type names to match, in order. Wildcards are allowed.</param>
1836
+ </member>
1837
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodSignatureMatchingRule.#ctor(System.Collections.Generic.IEnumerable{System.String})">
1838
+ <summary>
1839
+ Create a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MethodSignatureMatchingRule"/> that matches any method
1840
+ with parameter types matching the given list.
1841
+ </summary>
1842
+ <remarks>Name comparisons are case sensitive.</remarks>
1843
+ <param name="parameterTypeNames">Parameter type names to match, in order. Wildcards are allowed.</param>
1844
+ </member>
1845
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodSignatureMatchingRule.#ctor(System.Collections.Generic.IEnumerable{System.String},System.Boolean)">
1846
+ <summary>
1847
+ Create a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MethodSignatureMatchingRule"/> that matches any method
1848
+ with parameter types matching the given list.
1849
+ </summary>
1850
+ <param name="parameterTypeNames">Parameter type names to match, in order. Wildcards are allowed.</param>
1851
+ <param name="ignoreCase">If false, name comparisons are case sensitive. If true, name comparisons are case insensitive.</param>
1852
+ </member>
1853
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodSignatureMatchingRule.Matches(System.Reflection.MethodBase)">
1854
+ <summary>
1855
+ Check to see if the given method matches the name and signature.
1856
+ </summary>
1857
+ <param name="member">Member to check.</param>
1858
+ <returns>True if match, false if not.</returns>
1859
+ </member>
1860
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.NamespaceMatchingRule">
1861
+ <summary>
1862
+ An <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule"/> that matches members in a given namespace. You can
1863
+ specify either a single namespace (e.g. <c>System.Data</c>) or a namespace root
1864
+ (e.g. <c>System.Data.*</c> to match types in that namespace or below.
1865
+ </summary>
1866
+ </member>
1867
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.NamespaceMatchingRule.#ctor(System.String)">
1868
+ <summary>
1869
+ Create a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.NamespaceMatchingRule"/> that matches the given
1870
+ namespace.
1871
+ </summary>
1872
+ <param name="namespaceName">namespace name to match. Comparison is case sensitive.</param>
1873
+ </member>
1874
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.NamespaceMatchingRule.#ctor(System.String,System.Boolean)">
1875
+ <summary>
1876
+ Create a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.NamespaceMatchingRule"/> that matches the given
1877
+ namespace.
1878
+ </summary>
1879
+ <param name="namespaceName">namespace name to match.</param>
1880
+ <param name="ignoreCase">If false, comparison is case sensitive. If true, comparison is case insensitive.</param>
1881
+ </member>
1882
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.NamespaceMatchingRule.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Practices.Unity.InterceptionExtension.MatchingInfo})">
1883
+ <summary>
1884
+ Create a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.NamespaceMatchingRule"/> that matches any of
1885
+ the given namespace names.
1886
+ </summary>
1887
+ <param name="matches">Collection of namespace names to match.</param>
1888
+ </member>
1889
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.NamespaceMatchingRule.Matches(System.Reflection.MethodBase)">
1890
+ <summary>
1891
+ Check to see if the given <paramref name="member"/> is in a namespace
1892
+ matched by any of our given namespace names.
1893
+ </summary>
1894
+ <param name="member">member to check.</param>
1895
+ <returns>True if member is contained in a matching namespace, false if not.</returns>
1896
+ </member>
1897
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.NamespaceMatchingRule.NamespaceMatchingInfo">
1898
+ <summary>
1899
+ A helper class that encapsulates the name to match, case sensitivity flag,
1900
+ and the wildcard rules for matching namespaces.
1901
+ </summary>
1902
+ </member>
1903
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.NamespaceMatchingRule.NamespaceMatchingInfo.#ctor(System.String,System.Boolean)">
1904
+ <summary>
1905
+ Construct a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.NamespaceMatchingRule.NamespaceMatchingInfo"/> that matches the
1906
+ given namespace name.
1907
+ </summary>
1908
+ <param name="match">Namespace name to match.</param>
1909
+ <param name="ignoreCase">If false, comparison is case sensitive. If true, comparison is case insensitive.</param>
1910
+ </member>
1911
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.NamespaceMatchingRule.NamespaceMatchingInfo.Matches(System.Type)">
1912
+ <summary>
1913
+ Check if the given type <paramref name="t"/> is in a matching namespace.
1914
+ </summary>
1915
+ <param name="t">Type to check.</param>
1916
+ <returns>True if type is in a matching namespace, false if not.</returns>
1917
+ </member>
1918
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.ParameterTypeMatchingRule">
1919
+ <summary>
1920
+ An <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule"/> that matches methods that have any parameters
1921
+ of the given types.
1922
+ </summary>
1923
+ </member>
1924
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ParameterTypeMatchingRule.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Practices.Unity.InterceptionExtension.ParameterTypeMatchingInfo})">
1925
+ <summary>
1926
+ Creates a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ParameterTypeMatchingRule"/> that matches if any of
1927
+ the method parameters match ones in the given collection.
1928
+ </summary>
1929
+ <param name="matches">Collection of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ParameterTypeMatchingInfo"/> that
1930
+ describes the types to match.</param>
1931
+ </member>
1932
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ParameterTypeMatchingRule.Matches(System.Reflection.MethodBase)">
1933
+ <summary>
1934
+ Check the given member to see if it has any matching parameters.
1935
+ </summary>
1936
+ <param name="member">Member to match.</param>
1937
+ <returns>true if member matches, false if it doesn't.</returns>
1938
+ </member>
1939
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.ParameterTypeMatchingRule.ParameterMatches">
1940
+ <summary>
1941
+ The list of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ParameterTypeMatchingInfo"/> describing the parameter types to match.
1942
+ </summary>
1943
+ <value>The collection of matches.</value>
1944
+ </member>
1945
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.ParameterKind">
1946
+ <summary>
1947
+ Describes the type of parameter to match.
1948
+ </summary>
1949
+ </member>
1950
+ <member name="F:Microsoft.Practices.Unity.InterceptionExtension.ParameterKind.Input">
1951
+ <summary>
1952
+ Input parameter
1953
+ </summary>
1954
+ </member>
1955
+ <member name="F:Microsoft.Practices.Unity.InterceptionExtension.ParameterKind.Output">
1956
+ <summary>
1957
+ Output parameter
1958
+ </summary>
1959
+ </member>
1960
+ <member name="F:Microsoft.Practices.Unity.InterceptionExtension.ParameterKind.InputOrOutput">
1961
+ <summary>
1962
+ Input or output parameter
1963
+ </summary>
1964
+ </member>
1965
+ <member name="F:Microsoft.Practices.Unity.InterceptionExtension.ParameterKind.ReturnValue">
1966
+ <summary>
1967
+ Method return value
1968
+ </summary>
1969
+ </member>
1970
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.ParameterTypeMatchingInfo">
1971
+ <summary>
1972
+ A class that stores information about a single type to match.
1973
+ </summary>
1974
+ </member>
1975
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ParameterTypeMatchingInfo.#ctor">
1976
+ <summary>
1977
+ Creates a new uninitialized <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ParameterTypeMatchingInfo"/>.
1978
+ </summary>
1979
+ </member>
1980
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ParameterTypeMatchingInfo.#ctor(Microsoft.Practices.Unity.InterceptionExtension.ParameterKind)">
1981
+ <summary>
1982
+ Creates a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ParameterTypeMatchingInfo"/> matching the given kind of parameter.
1983
+ </summary>
1984
+ <param name="kind"><see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ParameterKind"/> of parameter to match.</param>
1985
+ </member>
1986
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ParameterTypeMatchingInfo.#ctor(System.String,Microsoft.Practices.Unity.InterceptionExtension.ParameterKind)">
1987
+ <summary>
1988
+ Creates a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ParameterTypeMatchingInfo"/> matching the given parameter
1989
+ type and kind.
1990
+ </summary>
1991
+ <param name="nameToMatch">Parameter <see cref="T:System.Type"/> name to match.</param>
1992
+ <param name="kind"><see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ParameterKind"/> of parameter to match.</param>
1993
+ </member>
1994
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ParameterTypeMatchingInfo.#ctor(System.String,System.Boolean,Microsoft.Practices.Unity.InterceptionExtension.ParameterKind)">
1995
+ <summary>
1996
+ Creates a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ParameterTypeMatchingInfo"/> matching the given parameter
1997
+ type and kind.
1998
+ </summary>
1999
+ <param name="nameToMatch">Parameter <see cref="T:System.Type"/> name to match.</param>
2000
+ <param name="ignoreCase">If false, compare type names using case-sensitive comparison.
2001
+ If true, compare type names using case-insensitive comparison.</param>
2002
+ <param name="kind"><see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ParameterKind"/> of parameter to match.</param>
2003
+ </member>
2004
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.ParameterTypeMatchingInfo.Kind">
2005
+ <summary>
2006
+ What kind of parameter to match.
2007
+ </summary>
2008
+ <value><see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ParameterKind"/> indicating which kind of parameters to match.</value>
2009
+ </member>
2010
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingRule">
2011
+ <summary>
2012
+ An <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule"/> implementation that matches properties
2013
+ by name. You can match the getter, setter, or both.
2014
+ </summary>
2015
+ </member>
2016
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingRule.#ctor(System.String)">
2017
+ <summary>
2018
+ Construct a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingRule"/> that matches the
2019
+ getter or setter of the given property.
2020
+ </summary>
2021
+ <param name="propertyName">Name of the property. Name comparison is case sensitive. Wildcards are allowed.</param>
2022
+ </member>
2023
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingRule.#ctor(System.String,Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingOption)">
2024
+ <summary>
2025
+ Constructs a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingRule"/> that matches the
2026
+ given method of the given property.
2027
+ </summary>
2028
+ <param name="propertyName">Name of the property. Name comparison is case sensitive. Wildcards are allowed.</param>
2029
+ <param name="option">Match the getter, setter, or both.</param>
2030
+ </member>
2031
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingRule.#ctor(System.String,Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingOption,System.Boolean)">
2032
+ <summary>
2033
+ Constructs a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingRule"/> that matches the
2034
+ given method of the given property.
2035
+ </summary>
2036
+ <param name="propertyName">Name of the property to match. Wildcards are allowed.</param>
2037
+ <param name="option">Match the getter, setter, or both.</param>
2038
+ <param name="ignoreCase">If false, name comparison is case sensitive. If true, name comparison is case insensitive.</param>
2039
+ </member>
2040
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingRule.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingInfo})">
2041
+ <summary>
2042
+ Constructs a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingRule"/> that matches any of the
2043
+ given properties.
2044
+ </summary>
2045
+ <param name="matches">Collection of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingInfo"/> defining which
2046
+ properties to match.</param>
2047
+ </member>
2048
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingRule.Matches(System.Reflection.MethodBase)">
2049
+ <summary>
2050
+ Checks if the given member matches the rule.
2051
+ </summary>
2052
+ <param name="member">Member to check.</param>
2053
+ <returns>True if it matches, false if it does not.</returns>
2054
+ </member>
2055
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingOption">
2056
+ <summary>
2057
+ Specifies which methods of a property should be matches by
2058
+ the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingRule"/>.
2059
+ </summary>
2060
+ </member>
2061
+ <member name="F:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingOption.Get">
2062
+ <summary>
2063
+ Match the property getter method.
2064
+ </summary>
2065
+ </member>
2066
+ <member name="F:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingOption.Set">
2067
+ <summary>
2068
+ Match the property setter method.
2069
+ </summary>
2070
+ </member>
2071
+ <member name="F:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingOption.GetOrSet">
2072
+ <summary>
2073
+ Match either the getter or setter method.
2074
+ </summary>
2075
+ </member>
2076
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingInfo">
2077
+ <summary>
2078
+ Information about a property match.
2079
+ </summary>
2080
+ </member>
2081
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingInfo.#ctor(System.String)">
2082
+ <summary>
2083
+ Construct a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingInfo"/> that matches the get or set methods
2084
+ of the given property name, and does a case-sensitive comparison.
2085
+ </summary>
2086
+ <param name="match">Property name to match.</param>
2087
+ </member>
2088
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingInfo.#ctor(System.String,Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingOption)">
2089
+ <summary>
2090
+ Constructs a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingInfo"/> that matches the given methods of
2091
+ the given property name, doing a case-sensitive comparison.
2092
+ </summary>
2093
+ <param name="match">Property name to match.</param>
2094
+ <param name="option"><see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingOption"/> specifying which methods of the property to match.</param>
2095
+ </member>
2096
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingInfo.#ctor(System.String,Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingOption,System.Boolean)">
2097
+ <summary>
2098
+ Construt a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingInfo"/> that matches the given methods of
2099
+ the given property name.
2100
+ </summary>
2101
+ <param name="match">Property name to match.</param>
2102
+ <param name="option"><see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingOption"/> specifying which methods of the property to match.</param>
2103
+ <param name="ignoreCase">If false, name comparison is case sensitive. If true, name comparison is case insensitive.</param>
2104
+ </member>
2105
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingInfo.Option">
2106
+ <summary>
2107
+ The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PropertyMatchingOption"/> to use when doing name comparisons on this property.
2108
+ </summary>
2109
+ <value>Specifies which methods of the property to match.</value>
2110
+ </member>
2111
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.ReturnTypeMatchingRule">
2112
+ <summary>
2113
+ An <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule"/> that checks to see if a member has a specified
2114
+ type.
2115
+ </summary>
2116
+ </member>
2117
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ReturnTypeMatchingRule.#ctor(System.Type)">
2118
+ <summary>
2119
+ Construct a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ReturnTypeMatchingRule"/> that matches
2120
+ members with the given return type.
2121
+ </summary>
2122
+ <param name="returnType">Type to look for.</param>
2123
+ </member>
2124
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ReturnTypeMatchingRule.#ctor(System.String)">
2125
+ <summary>
2126
+ Construct a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ReturnTypeMatchingRule"/> that matches
2127
+ the given return type by name.
2128
+ </summary>
2129
+ <remarks>See the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.TypeMatchingRule"/> class for details on how
2130
+ type name matches are done.</remarks>
2131
+ <param name="returnTypeName">Type name to match. Name comparisons are case sensitive.</param>
2132
+ </member>
2133
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ReturnTypeMatchingRule.#ctor(System.String,System.Boolean)">
2134
+ <summary>
2135
+ Construct a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ReturnTypeMatchingRule"/> that matches
2136
+ the given return type by name.
2137
+ </summary>
2138
+ <remarks>See the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.TypeMatchingRule"/> class for details on how
2139
+ type name matches are done.</remarks>
2140
+ <param name="returnTypeName">Type name to match.</param>
2141
+ <param name="ignoreCase">If false, name comparison is case sensitive. If true, comparison
2142
+ is case insensitive.</param>
2143
+ </member>
2144
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ReturnTypeMatchingRule.Matches(System.Reflection.MethodBase)">
2145
+ <summary>
2146
+ Check to see if the given member has a matching return type.
2147
+ </summary>
2148
+ <param name="member">Member to check.</param>
2149
+ <returns>true if return types match, false if they don't.</returns>
2150
+ </member>
2151
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.TagAttributeMatchingRule">
2152
+ <summary>
2153
+ A <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule"/> that checks a member for the presence
2154
+ of the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.TagAttribute"/> on the method, property, or class, and
2155
+ that the given string matches.
2156
+ </summary>
2157
+ </member>
2158
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TagAttributeMatchingRule.#ctor(System.String)">
2159
+ <summary>
2160
+ Constructs a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.TagAttributeMatchingRule"/>, looking for
2161
+ the given string. The comparison is case sensitive.
2162
+ </summary>
2163
+ <param name="tagToMatch">tag string to match.</param>
2164
+ </member>
2165
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TagAttributeMatchingRule.#ctor(System.String,System.Boolean)">
2166
+ <summary>
2167
+ Constructs a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.TagAttributeMatchingRule"/>, looking for
2168
+ the given string. The comparison is case sensitive if <paramref name="ignoreCase"/> is
2169
+ false, case insensitive if <paramref name="ignoreCase"/> is true.
2170
+ </summary>
2171
+ <param name="tagToMatch">tag string to match.</param>
2172
+ <param name="ignoreCase">if false, case-senstive comparison. If true, case-insensitive comparison.</param>
2173
+ </member>
2174
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TagAttributeMatchingRule.Matches(System.Reflection.MethodBase)">
2175
+ <summary>
2176
+ Check the given member for the presence of the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.TagAttribute"/> and
2177
+ match the strings.
2178
+ </summary>
2179
+ <param name="member">Member to check.</param>
2180
+ <returns>True if tag strings match, false if they don't.</returns>
2181
+ </member>
2182
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.TypeMatchingRule">
2183
+ <summary>
2184
+ A matching rule that matches when the member is declared
2185
+ in the given type.
2186
+ </summary>
2187
+ </member>
2188
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TypeMatchingRule.#ctor(System.Type)">
2189
+ <summary>
2190
+ Constructs a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.TypeMatchingRule"/> that matches the
2191
+ given type.
2192
+ </summary>
2193
+ <param name="type">The type to match.</param>
2194
+ </member>
2195
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TypeMatchingRule.#ctor(System.String)">
2196
+ <summary>
2197
+ Constructs a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.TypeMatchingRule"/> that matches types
2198
+ with the given name.
2199
+ </summary>
2200
+ <remarks>Comparisons are case sensitive.</remarks>
2201
+ <param name="typeName">Type name to match.</param>
2202
+ </member>
2203
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TypeMatchingRule.#ctor(System.String,System.Boolean)">
2204
+ <summary>
2205
+ Constructs a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.TypeMatchingRule"/> that matches types
2206
+ with the given name, using the given case sensitivity.
2207
+ </summary>
2208
+ <param name="typeName">Type name to match.</param>
2209
+ <param name="ignoreCase">if false, do case-sensitive comparison. If true, do case-insensitive.</param>
2210
+ </member>
2211
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TypeMatchingRule.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Practices.Unity.InterceptionExtension.MatchingInfo})">
2212
+ <summary>
2213
+ Constructs a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.TypeMatchingRule"/> that will match
2214
+ any of the type names given in the collection of match information.
2215
+ </summary>
2216
+ <param name="matches">The match information to match.</param>
2217
+ </member>
2218
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TypeMatchingRule.Matches(System.Reflection.MethodBase)">
2219
+ <summary>
2220
+ Checks if the given member matches any of this object's matches.
2221
+ </summary>
2222
+ <param name="member">Member to match.</param>
2223
+ <returns>True if match, false if not.</returns>
2224
+ </member>
2225
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TypeMatchingRule.Matches(System.Type)">
2226
+ <summary>
2227
+ Checks if the given type matches any of this object's matches.
2228
+ </summary>
2229
+ <remarks>Matches may be on the namespace-qualified type name or just the type name.</remarks>
2230
+ <param name="t">Type to check.</param>
2231
+ <returns>True if it matches, false if it doesn't.</returns>
2232
+ </member>
2233
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection">
2234
+ <summary>
2235
+ An implementation of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IParameterCollection"/> that wraps a provided array
2236
+ containing the argument values.
2237
+ </summary>
2238
+ </member>
2239
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.#ctor(System.Object[],System.Reflection.ParameterInfo[],System.Predicate{System.Reflection.ParameterInfo})">
2240
+ <summary>
2241
+ Construct a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection"/> that wraps the
2242
+ given array of arguments.
2243
+ </summary>
2244
+ <param name="arguments">Complete collection of arguments.</param>
2245
+ <param name="argumentInfo">Type information about about each parameter.</param>
2246
+ <param name="isArgumentPartOfCollection">A <see cref="T:System.Predicate`1"/> that indicates
2247
+ whether a particular parameter is part of the collection. Used to filter out only input
2248
+ parameters, for example.</param>
2249
+ </member>
2250
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.GetParameterInfo(System.Int32)">
2251
+ <summary>
2252
+ Gets the ParameterInfo for a particular parameter by index.
2253
+ </summary>
2254
+ <param name="index">Index for this parameter.</param>
2255
+ <returns>ParameterInfo object describing the parameter.</returns>
2256
+ </member>
2257
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.GetParameterInfo(System.String)">
2258
+ <summary>
2259
+ Gets the <see cref="T:System.Reflection.ParameterInfo"/> for the given named parameter.
2260
+ </summary>
2261
+ <param name="parameterName">Name of parameter.</param>
2262
+ <returns><see cref="T:System.Reflection.ParameterInfo"/> for the requested parameter.</returns>
2263
+ </member>
2264
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.ParameterName(System.Int32)">
2265
+ <summary>
2266
+ Gets the name of a parameter based on index.
2267
+ </summary>
2268
+ <param name="index">Index of parameter to get the name for.</param>
2269
+ <returns>Name of the requested parameter.</returns>
2270
+ </member>
2271
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.Add(System.Object)">
2272
+ <summary>
2273
+ Adds to the collection. This is a read only collection, so this method
2274
+ always throws <see cref="T:System.NotSupportedException"/>.
2275
+ </summary>
2276
+ <param name="value">Object to add.</param>
2277
+ <returns>Nothing, always throws.</returns>
2278
+ <exception cref="T:System.NotSupportedException">Always throws this.</exception>
2279
+ </member>
2280
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.Contains(System.Object)">
2281
+ <summary>
2282
+ Checks to see if the collection contains the given object.
2283
+ </summary>
2284
+ <remarks>Tests for the object using object.Equals.</remarks>
2285
+ <param name="value">Object to find.</param>
2286
+ <returns>true if object is in collection, false if it is not.</returns>
2287
+ </member>
2288
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.Clear">
2289
+ <summary>
2290
+ Remove all items in the collection. This collection is fixed-size, so this
2291
+ method always throws <see cref="T:System.NotSupportedException"/>.
2292
+ </summary>
2293
+ <exception cref="T:System.NotSupportedException">This is always thrown.</exception>
2294
+ </member>
2295
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.IndexOf(System.Object)">
2296
+ <summary>
2297
+ Returns the index of the given object, or -1 if not found.
2298
+ </summary>
2299
+ <param name="value">Object to find.</param>
2300
+ <returns>zero-based index of found object, or -1 if not found.</returns>
2301
+ </member>
2302
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.Insert(System.Int32,System.Object)">
2303
+ <summary>
2304
+ Inserts a new item. This is a fixed-size collection, so this method throws <see cref="T:System.NotSupportedException"/>.
2305
+ </summary>
2306
+ <param name="index">Index to insert at.</param>
2307
+ <param name="value">Always throws.</param>
2308
+ <exception cref="T:System.NotSupportedException">Always throws this.</exception>
2309
+ </member>
2310
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.Remove(System.Object)">
2311
+ <summary>
2312
+ Removes the given item. This is a fixed-size collection, so this method throws <see cref="T:System.NotSupportedException"/>.
2313
+ </summary>
2314
+ <param name="value">Always throws.</param>
2315
+ <exception cref="T:System.NotSupportedException">Always throws this.</exception>
2316
+ </member>
2317
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.RemoveAt(System.Int32)">
2318
+ <summary>
2319
+ Removes the given item. This is a fixed-size collection, so this method throws <see cref="T:System.NotSupportedException"/>.
2320
+ </summary>
2321
+ <param name="index">Always throws.</param>
2322
+ <exception cref="T:System.NotSupportedException">Always throws this.</exception>
2323
+ </member>
2324
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.CopyTo(System.Array,System.Int32)">
2325
+ <summary>
2326
+ Copies the contents of this collection to the given array.
2327
+ </summary>
2328
+ <param name="array">Destination array.</param>
2329
+ <param name="index">index to start copying from.</param>
2330
+ </member>
2331
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.GetEnumerator">
2332
+ <summary>
2333
+ Gets an enumerator object to support the foreach construct.
2334
+ </summary>
2335
+ <returns>Enumerator object.</returns>
2336
+ </member>
2337
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.Item(System.String)">
2338
+ <summary>
2339
+ Fetches a parameter's value by name.
2340
+ </summary>
2341
+ <param name="parameterName">parameter name.</param>
2342
+ <value>value of the named parameter.</value>
2343
+ </member>
2344
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.Item(System.Int32)">
2345
+ <summary>
2346
+ Gets the value of a parameter based on index.
2347
+ </summary>
2348
+ <param name="index">Index of parameter to get the value for.</param>
2349
+ <value>Value of the requested parameter.</value>
2350
+ </member>
2351
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.IsReadOnly">
2352
+ <summary>
2353
+ Is this collection read only?
2354
+ </summary>
2355
+ <value>No, it is not read only, the contents can change.</value>
2356
+ </member>
2357
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.IsFixedSize">
2358
+ <summary>
2359
+ Is this collection fixed size?
2360
+ </summary>
2361
+ <value>Yes, it is.</value>
2362
+ </member>
2363
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.Count">
2364
+ <summary>
2365
+ Total number of items in the collection.
2366
+ </summary>
2367
+ <value>The count.</value>
2368
+ </member>
2369
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.SyncRoot">
2370
+ <summary>
2371
+ Gets a synchronized version of this collection. WARNING: Not implemented completely,
2372
+ DO NOT USE THIS METHOD.
2373
+ </summary>
2374
+ </member>
2375
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.IsSynchronized">
2376
+ <summary>
2377
+ Is the object synchronized for thread safety?
2378
+ </summary>
2379
+ <value>No, it isn't.</value>
2380
+ </member>
2381
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.ArgumentInfo">
2382
+ <summary>
2383
+ An internal struct that maps the index in the arguments collection to the
2384
+ corresponding <see cref="F:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.ArgumentInfo.ParameterInfo"/> about that argument.
2385
+ </summary>
2386
+ </member>
2387
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.ArgumentInfo.#ctor(System.Int32,System.Reflection.ParameterInfo)">
2388
+ <summary>
2389
+ Construct a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.ArgumentInfo"/> object linking the
2390
+ given index and <see cref="F:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.ArgumentInfo.ParameterInfo"/> object.
2391
+ </summary>
2392
+ <param name="index">Index into arguments array (zero-based).</param>
2393
+ <param name="parameterInfo"><see cref="F:Microsoft.Practices.Unity.InterceptionExtension.ParameterCollection.ArgumentInfo.ParameterInfo"/> for the argument at <paramref name="index"/>.</param>
2394
+ </member>
2395
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition">
2396
+ <summary>
2397
+ Transient class that supports convenience method for specifying interception policies.
2398
+ </summary>
2399
+ </member>
2400
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.AddMatchingRule(System.String)">
2401
+ <summary>
2402
+ Adds a reference to matching rule by name.
2403
+ </summary>
2404
+ <param name="name">The name for the matching rule.</param>
2405
+ <returns>
2406
+ The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition"/> than allows further configuration of the policy.
2407
+ </returns>
2408
+ <remarks>
2409
+ The details of how the rule should be created by the container must be specified using a
2410
+ standard injection specification mechanism.
2411
+ </remarks>
2412
+ </member>
2413
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.AddMatchingRule(Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule)">
2414
+ <summary>
2415
+ Makes <paramref name="instance"/> a matching rule in the current policy.
2416
+ </summary>
2417
+ <param name="instance">The new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule"/> for the policy.</param>
2418
+ <returns>
2419
+ The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition"/> than allows further configuration of the policy.
2420
+ </returns>
2421
+ </member>
2422
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.AddMatchingRule(System.Type,Microsoft.Practices.Unity.InjectionMember[])">
2423
+ <summary>
2424
+ Configures injection for a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule"/> and makes it available
2425
+ as a matching rule in the current policy.
2426
+ </summary>
2427
+ <param name="type">The type for the new matching rule.</param>
2428
+ <param name="injectionMembers">Objects containing the details on which members to inject and how.</param>
2429
+ <returns>
2430
+ The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition"/> than allows further configuration of the policy.
2431
+ </returns>
2432
+ </member>
2433
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.AddMatchingRule(System.Type,Microsoft.Practices.Unity.LifetimeManager,Microsoft.Practices.Unity.InjectionMember[])">
2434
+ <summary>
2435
+ Configures injection for a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule"/> and makes it available
2436
+ as a matching rule in the current policy, using the given <see cref="T:Microsoft.Practices.Unity.LifetimeManager"/>.
2437
+ </summary>
2438
+ <param name="type">The type for the new matching rule.</param>
2439
+ <param name="lifetimeManager">The <see cref="T:Microsoft.Practices.Unity.LifetimeManager"/> that controls the lifetime
2440
+ of the configured matching rule.</param>
2441
+ <param name="injectionMembers">Objects containing the details on which members to inject and how.</param>
2442
+ <returns>
2443
+ The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition"/> than allows further configuration of the policy.
2444
+ </returns>
2445
+ </member>
2446
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.AddMatchingRule(System.Type,System.String,Microsoft.Practices.Unity.InjectionMember[])">
2447
+ <summary>
2448
+ Configures injection for a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule"/> using the specified name
2449
+ and makes it available as a matching rule in the current policy.
2450
+ </summary>
2451
+ <param name="type">The type for the new matching rule.</param>
2452
+ <param name="name">The name for the injection configuration for the matching rule.</param>
2453
+ <param name="injectionMembers">Objects containing the details on which members to inject and how.</param>
2454
+ <returns>
2455
+ The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition"/> than allows further configuration of the policy.
2456
+ </returns>
2457
+ </member>
2458
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.AddMatchingRule(System.Type,System.String,Microsoft.Practices.Unity.LifetimeManager,Microsoft.Practices.Unity.InjectionMember[])">
2459
+ <summary>
2460
+ Configures injection for a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule"/> and makes it available
2461
+ as a matching rule in the current policy, using the given <see cref="T:Microsoft.Practices.Unity.LifetimeManager"/>.
2462
+ </summary>
2463
+ <param name="type">The type for the new matching rule.</param>
2464
+ <param name="name">The name for the injection configuration for the matching rule.</param>
2465
+ <param name="lifetimeManager">The <see cref="T:Microsoft.Practices.Unity.LifetimeManager"/> that controls the lifetime
2466
+ of the configured matching rule.</param>
2467
+ <param name="injectionMembers">Objects containing the details on which members to inject and how.</param>
2468
+ <returns>
2469
+ The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition"/> than allows further configuration of the policy.
2470
+ </returns>
2471
+ </member>
2472
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.AddMatchingRule``1(Microsoft.Practices.Unity.InjectionMember[])">
2473
+ <summary>
2474
+ Configures injection for a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule"/> and makes it available
2475
+ as a matching rule in the current policy.
2476
+ </summary>
2477
+ <typeparam name="TMatchingRule">The type for the new matching rule.</typeparam>
2478
+ <param name="injectionMembers">Objects containing the details on which members to inject and how.</param>
2479
+ <returns>
2480
+ The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition"/> than allows further configuration of the policy.
2481
+ </returns>
2482
+ </member>
2483
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.AddMatchingRule``1(Microsoft.Practices.Unity.LifetimeManager,Microsoft.Practices.Unity.InjectionMember[])">
2484
+ <summary>
2485
+ Configures injection for a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule"/> and makes it available
2486
+ as a matching rule in the current policy, using the given <see cref="T:Microsoft.Practices.Unity.LifetimeManager"/>.
2487
+ </summary>
2488
+ <typeparam name="TMatchingRule">The type for the new matching rule.</typeparam>
2489
+ <param name="lifetimeManager">The <see cref="T:Microsoft.Practices.Unity.LifetimeManager"/> that controls the lifetime
2490
+ of the configured matching rule.</param>
2491
+ <param name="injectionMembers">Objects containing the details on which members to inject and how.</param>
2492
+ <returns>
2493
+ The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition"/> than allows further configuration of the policy.
2494
+ </returns>
2495
+ </member>
2496
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.AddMatchingRule``1(System.String,Microsoft.Practices.Unity.InjectionMember[])">
2497
+ <summary>
2498
+ Configures injection for a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule"/> using the specified name
2499
+ and makes it available as a matching rule in the current policy.
2500
+ </summary>
2501
+ <typeparam name="TMatchingRule">The type for the new matching rule.</typeparam>
2502
+ <param name="name">The name for the injection configuration for the matching rule.</param>
2503
+ <param name="injectionMembers">Objects containing the details on which members to inject and how.</param>
2504
+ <returns>
2505
+ The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition"/> than allows further configuration of the policy.
2506
+ </returns>
2507
+ </member>
2508
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.AddMatchingRule``1(System.String,Microsoft.Practices.Unity.LifetimeManager,Microsoft.Practices.Unity.InjectionMember[])">
2509
+ <summary>
2510
+ Configures injection for a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule"/> using the specified name
2511
+ and makes it available as a matching rule in the current policy,
2512
+ using the given <see cref="T:Microsoft.Practices.Unity.LifetimeManager"/>.
2513
+ </summary>
2514
+ <typeparam name="TMatchingRule">The type for the new matching rule.</typeparam>
2515
+ <param name="name">The name for the injection configuration for the matching rule.</param>
2516
+ <param name="lifetimeManager">The <see cref="T:Microsoft.Practices.Unity.LifetimeManager"/> that controls the lifetime
2517
+ of the configured matching rule.</param>
2518
+ <param name="injectionMembers">Objects containing the details on which members to inject and how.</param>
2519
+ <returns>
2520
+ The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition"/> than allows further configuration of the policy.
2521
+ </returns>
2522
+ </member>
2523
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.AddCallHandler(System.String)">
2524
+ <summary>
2525
+ Adds a reference to call handler by name.
2526
+ </summary>
2527
+ <param name="name">The name for the call handler.</param>
2528
+ <returns>
2529
+ The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition"/> than allows further configuration of the policy.
2530
+ </returns>
2531
+ <remarks>
2532
+ The details of how the handler should be created by the container must be specified using a
2533
+ standard injection specification mechanism.
2534
+ </remarks>
2535
+ </member>
2536
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.AddCallHandler(Microsoft.Practices.Unity.InterceptionExtension.ICallHandler)">
2537
+ <summary>
2538
+ Makes <paramref name="instance"/> a call handler in the current policy.
2539
+ </summary>
2540
+ <param name="instance">The new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ICallHandler"/> for the policy.</param>
2541
+ <returns>
2542
+ The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition"/> than allows further configuration of the policy.
2543
+ </returns>
2544
+ </member>
2545
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.AddCallHandler(System.Type,Microsoft.Practices.Unity.InjectionMember[])">
2546
+ <summary>
2547
+ Configures injection for a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ICallHandler"/> and makes it available
2548
+ as a call handler in the current policy.
2549
+ </summary>
2550
+ <param name="type">The type for the new call handler.</param>
2551
+ <param name="injectionMembers">Objects containing the details on which members to inject and how.</param>
2552
+ <returns>
2553
+ The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition"/> than allows further configuration of the policy.
2554
+ </returns>
2555
+ </member>
2556
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.AddCallHandler(System.Type,Microsoft.Practices.Unity.LifetimeManager,Microsoft.Practices.Unity.InjectionMember[])">
2557
+ <summary>
2558
+ Configures injection for a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ICallHandler"/> and makes it available
2559
+ as a call handler in the current policy, using the given <see cref="T:Microsoft.Practices.Unity.LifetimeManager"/>.
2560
+ </summary>
2561
+ <param name="type">The type for the new call handler.</param>
2562
+ <param name="lifetimeManager">The <see cref="T:Microsoft.Practices.Unity.LifetimeManager"/> that controls the lifetime
2563
+ of the configured call handler.</param>
2564
+ <param name="injectionMembers">Objects containing the details on which members to inject and how.</param>
2565
+ <returns>
2566
+ The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition"/> than allows further configuration of the policy.
2567
+ </returns>
2568
+ </member>
2569
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.AddCallHandler(System.Type,System.String,Microsoft.Practices.Unity.InjectionMember[])">
2570
+ <summary>
2571
+ Configures injection for a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ICallHandler"/> using the specified name
2572
+ and makes it available as a call handler in the current policy.
2573
+ </summary>
2574
+ <param name="type">The type for the new call handler.</param>
2575
+ <param name="name">The name for the injection configuration for the call handler.</param>
2576
+ <param name="injectionMembers">Objects containing the details on which members to inject and how.</param>
2577
+ <returns>
2578
+ The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition"/> than allows further configuration of the policy.
2579
+ </returns>
2580
+ </member>
2581
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.AddCallHandler(System.Type,System.String,Microsoft.Practices.Unity.LifetimeManager,Microsoft.Practices.Unity.InjectionMember[])">
2582
+ <summary>
2583
+ Configures injection for a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ICallHandler"/> using the specified name
2584
+ and makes it available as a call handler in the current policy,
2585
+ using the given <see cref="T:Microsoft.Practices.Unity.LifetimeManager"/>.
2586
+ </summary>
2587
+ <param name="type">The type for the new call handler.</param>
2588
+ <param name="name">The name for the injection configuration for the call handler.</param>
2589
+ <param name="lifetimeManager">The <see cref="T:Microsoft.Practices.Unity.LifetimeManager"/> that controls the lifetime
2590
+ of the configured call handler.</param>
2591
+ <param name="injectionMembers">Objects containing the details on which members to inject and how.</param>
2592
+ <returns>
2593
+ The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition"/> than allows further configuration of the policy.
2594
+ </returns>
2595
+ </member>
2596
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.AddCallHandler``1(Microsoft.Practices.Unity.InjectionMember[])">
2597
+ <summary>
2598
+ Configures injection for a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ICallHandler"/> and makes it available
2599
+ as a call handler in the current policy.
2600
+ </summary>
2601
+ <typeparam name="TCallHandler">The type for the new call handler.</typeparam>
2602
+ <param name="injectionMembers">Objects containing the details on which members to inject and how.</param>
2603
+ <returns>
2604
+ The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition"/> than allows further configuration of the policy.
2605
+ </returns>
2606
+ </member>
2607
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.AddCallHandler``1(Microsoft.Practices.Unity.LifetimeManager,Microsoft.Practices.Unity.InjectionMember[])">
2608
+ <summary>
2609
+ Configures injection for a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ICallHandler"/> and makes it available
2610
+ as a call handler in the current policy, using the given <see cref="T:Microsoft.Practices.Unity.LifetimeManager"/>.
2611
+ </summary>
2612
+ <typeparam name="TCallHandler">The type for the new call handler.</typeparam>
2613
+ <param name="lifetimeManager">The <see cref="T:Microsoft.Practices.Unity.LifetimeManager"/> that controls the lifetime
2614
+ of the configured call handler.</param>
2615
+ <param name="injectionMembers">Objects containing the details on which members to inject and how.</param>
2616
+ <returns>
2617
+ The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition"/> than allows further configuration of the policy.
2618
+ </returns>
2619
+ </member>
2620
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.AddCallHandler``1(System.String,Microsoft.Practices.Unity.InjectionMember[])">
2621
+ <summary>
2622
+ Configures injection for a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ICallHandler"/> using the specified name
2623
+ and makes it available as a call handler in the current policy.
2624
+ </summary>
2625
+ <typeparam name="TCallHandler">The type for the new call handler.</typeparam>
2626
+ <param name="name">The name for the injection configuration for the call handler .</param>
2627
+ <param name="injectionMembers">Objects containing the details on which members to inject and how.</param>
2628
+ <returns>
2629
+ The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition"/> than allows further configuration of the policy.
2630
+ </returns>
2631
+ </member>
2632
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.AddCallHandler``1(System.String,Microsoft.Practices.Unity.LifetimeManager,Microsoft.Practices.Unity.InjectionMember[])">
2633
+ <summary>
2634
+ Configures injection for a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ICallHandler"/> using the specified name
2635
+ and makes it available as a call handler in the current policy,
2636
+ using the given <see cref="T:Microsoft.Practices.Unity.LifetimeManager"/>.
2637
+ </summary>
2638
+ <typeparam name="TCallHandler">The type for the new call handler.</typeparam>
2639
+ <param name="name">The name for the injection configuration for the call handler .</param>
2640
+ <param name="lifetimeManager">The <see cref="T:Microsoft.Practices.Unity.LifetimeManager"/> that controls the lifetime
2641
+ of the configured call handler.</param>
2642
+ <param name="injectionMembers">Objects containing the details on which members to inject and how.</param>
2643
+ <returns>
2644
+ The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition"/> than allows further configuration of the policy.
2645
+ </returns>
2646
+ </member>
2647
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.Container">
2648
+ <summary>
2649
+ The <see cref="T:Microsoft.Practices.Unity.IUnityContainer"/> that is currently being
2650
+ configured.
2651
+ </summary>
2652
+ </member>
2653
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.Interception">
2654
+ <summary>
2655
+ The <see cref="P:Microsoft.Practices.Unity.InterceptionExtension.PolicyDefinition.Interception"/> extension to which the policy was added.
2656
+ </summary>
2657
+ <remarks>
2658
+ Use this property to start adding a new policy.
2659
+ </remarks>
2660
+ </member>
2661
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.PolicySet">
2662
+ <summary>
2663
+ A collection of Policy objects. The policies within a PolicySet combine using
2664
+ an "or" operation.
2665
+ </summary>
2666
+ </member>
2667
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicySet.#ctor(Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy[])">
2668
+ <summary>
2669
+ Creates a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicySet"/> containing the given policies.
2670
+ </summary>
2671
+ <param name="policies">Policies to put into the policy set.</param>
2672
+ </member>
2673
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicySet.GetPoliciesFor(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo)">
2674
+ <summary>
2675
+ Gets the policies that apply to the given member.
2676
+ </summary>
2677
+ <param name="member">Member to get policies for.</param>
2678
+ <returns>Collection of policies that apply to this member.</returns>
2679
+ </member>
2680
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicySet.GetPoliciesNotFor(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo)">
2681
+ <summary>
2682
+ Gets the policies in the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicySet"/> that do not
2683
+ apply to the given member.
2684
+ </summary>
2685
+ <param name="member">Member to check.</param>
2686
+ <returns>Collection of policies that do not apply to <paramref name="member"/>.</returns>
2687
+ </member>
2688
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicySet.GetHandlersFor(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo,Microsoft.Practices.Unity.IUnityContainer)">
2689
+ <summary>
2690
+ Gets the handlers that apply to the given member based on all policies in the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicySet"/>.
2691
+ </summary>
2692
+ <param name="member">Member to get handlers for.</param>
2693
+ <param name="container">The <see cref="T:Microsoft.Practices.Unity.IUnityContainer"/> to use when creating handlers,
2694
+ if necessary.</param>
2695
+ <returns>Collection of call handlers for <paramref name="member"/>.</returns>
2696
+ </member>
2697
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyInjectionBehavior">
2698
+ <summary>
2699
+ Interceptor that performs policy injection.
2700
+ </summary>
2701
+ </member>
2702
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior">
2703
+ <summary>
2704
+ Interception behaviors implement this interface and are called for each
2705
+ invocation of the pipelines that they're included in.
2706
+ </summary>
2707
+ </member>
2708
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior.Invoke(Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation,Microsoft.Practices.Unity.InterceptionExtension.GetNextInterceptionBehaviorDelegate)">
2709
+ <summary>
2710
+ Implement this method to execute your behavior processing.
2711
+ </summary>
2712
+ <param name="input">Inputs to the current call to the target.</param>
2713
+ <param name="getNext">Delegate to execute to get the next delegate in the behavior chain.</param>
2714
+ <returns>Return value from the target.</returns>
2715
+ </member>
2716
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior.GetRequiredInterfaces">
2717
+ <summary>
2718
+ Returns the interfaces required by the behavior for the objects it intercepts.
2719
+ </summary>
2720
+ <returns>The required interfaces.</returns>
2721
+ </member>
2722
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior.WillExecute">
2723
+ <summary>
2724
+ Returns a flag indicating if this behavior will actually do anything when invoked.
2725
+ </summary>
2726
+ <remarks>This is used to optimize interception. If the behaviors won't actually
2727
+ do anything (for example, PIAB where no policies match) then the interception
2728
+ mechanism can be skipped completely.</remarks>
2729
+ </member>
2730
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyInjectionBehavior.#ctor(Microsoft.Practices.Unity.InterceptionExtension.PipelineManager)">
2731
+ <summary>
2732
+ Initializes a new instance of the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyInjectionBehavior"/> with a pipeline manager.
2733
+ </summary>
2734
+ <param name="pipelineManager">The <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PipelineManager"/> for the new instance.</param>
2735
+ </member>
2736
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyInjectionBehavior.#ctor(Microsoft.Practices.Unity.InterceptionExtension.CurrentInterceptionRequest,Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy[],Microsoft.Practices.Unity.IUnityContainer)">
2737
+ <summary>
2738
+ Initializes a new instance of the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.PolicyInjectionBehavior"/> with the given information
2739
+ about what's being intercepted and the current set of injection policies.
2740
+ </summary>
2741
+ <param name="interceptionRequest">Information about what will be injected.</param>
2742
+ <param name="policies">Current injection policies.</param>
2743
+ <param name="container">Unity container that can be used to resolve call handlers.</param>
2744
+ </member>
2745
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyInjectionBehavior.Invoke(Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation,Microsoft.Practices.Unity.InterceptionExtension.GetNextInterceptionBehaviorDelegate)">
2746
+ <summary>
2747
+ Applies the policy injection handlers configured for the invoked method.
2748
+ </summary>
2749
+ <param name="input">Inputs to the current call to the target.</param>
2750
+ <param name="getNext">Delegate to execute to get the next delegate in the handler
2751
+ chain.</param>
2752
+ <returns>Return value from the target.</returns>
2753
+ </member>
2754
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PolicyInjectionBehavior.GetRequiredInterfaces">
2755
+ <summary>
2756
+ Returns the interfaces required by the behavior for the objects it intercepts.
2757
+ </summary>
2758
+ <returns>An empty array of interfaces.</returns>
2759
+ </member>
2760
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.PolicyInjectionBehavior.WillExecute">
2761
+ <summary>
2762
+ Returns a flag indicating if this behavior will actually do anything when invoked.
2763
+ </summary>
2764
+ <remarks>This is used to optimize interception. If the behaviors won't actually
2765
+ do anything (for example, PIAB where no policies match) then the interception
2766
+ mechanism can be skipped completely.</remarks>
2767
+ </member>
2768
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.Properties.Resources">
2769
+ <summary>
2770
+ A strongly-typed resource class, for looking up localized strings, etc.
2771
+ </summary>
2772
+ </member>
2773
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.Properties.Resources.ResourceManager">
2774
+ <summary>
2775
+ Returns the cached ResourceManager instance used by this class.
2776
+ </summary>
2777
+ </member>
2778
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.Properties.Resources.Culture">
2779
+ <summary>
2780
+ Overrides the current thread's CurrentUICulture property for all
2781
+ resource lookups using this strongly typed resource class.
2782
+ </summary>
2783
+ </member>
2784
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.Properties.Resources.ExceptionAbstractMethodNotImplemented">
2785
+ <summary>
2786
+ Looks up a localized string similar to Intercepted abstract method was invoked..
2787
+ </summary>
2788
+ </member>
2789
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.Properties.Resources.ExceptionAdditionalInterfaceNotImplemented">
2790
+ <summary>
2791
+ Looks up a localized string similar to Additional interfaces do not have an implementation..
2792
+ </summary>
2793
+ </member>
2794
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.Properties.Resources.ExceptionAdditionalInterfacesInvalid">
2795
+ <summary>
2796
+ Looks up a localized string similar to The additional interfaces supplied are invalid: {0}.
2797
+ </summary>
2798
+ </member>
2799
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.Properties.Resources.ExceptionAttributeNoSubclassOfAttribute">
2800
+ <summary>
2801
+ Looks up a localized string similar to Type must be a subclass of System.Attribute..
2802
+ </summary>
2803
+ </member>
2804
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.Properties.Resources.ExceptionCannotCreateInstance">
2805
+ <summary>
2806
+ Looks up a localized string similar to Could not create instance of type {0} with no constructor arguments..
2807
+ </summary>
2808
+ </member>
2809
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.Properties.Resources.ExceptionContainsNullElement">
2810
+ <summary>
2811
+ Looks up a localized string similar to Collection contains a null element..
2812
+ </summary>
2813
+ </member>
2814
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.Properties.Resources.ExceptionNullInterfacesCollection">
2815
+ <summary>
2816
+ Looks up a localized string similar to The collection of interfaces is null..
2817
+ </summary>
2818
+ </member>
2819
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.Properties.Resources.ExceptionRequiredInterfacesInvalid">
2820
+ <summary>
2821
+ Looks up a localized string similar to The required interfaces for behavior {1} are invalid: {0}.
2822
+ </summary>
2823
+ </member>
2824
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.Properties.Resources.ExceptionTypeIsNotInterface">
2825
+ <summary>
2826
+ Looks up a localized string similar to The type {0} is not an interface..
2827
+ </summary>
2828
+ </member>
2829
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.Properties.Resources.ExceptionTypeIsNull">
2830
+ <summary>
2831
+ Looks up a localized string similar to Null type..
2832
+ </summary>
2833
+ </member>
2834
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.Properties.Resources.ExceptionTypeIsOpenGeneric">
2835
+ <summary>
2836
+ Looks up a localized string similar to The type {0} is an open generic..
2837
+ </summary>
2838
+ </member>
2839
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.Properties.Resources.InterceptionNotSupported">
2840
+ <summary>
2841
+ Looks up a localized string similar to The type {0} is not interceptable..
2842
+ </summary>
2843
+ </member>
2844
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.Properties.Resources.InterfaceMethodNotImplemented">
2845
+ <summary>
2846
+ Looks up a localized string similar to Could not find the implementation of interface method {0}.{1} in type {2}.
2847
+ </summary>
2848
+ </member>
2849
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.Properties.Resources.NullBehavior">
2850
+ <summary>
2851
+ Looks up a localized string similar to Null is not permitted as an interception behavior..
2852
+ </summary>
2853
+ </member>
2854
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyInputParameterCollection">
2855
+ <summary>
2856
+ A class that wraps the inputs of a <see cref="T:System.Runtime.Remoting.Messaging.IMethodCallMessage"/> into the
2857
+ <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IParameterCollection"/> interface.
2858
+ </summary>
2859
+ </member>
2860
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyInputParameterCollection.#ctor(System.Runtime.Remoting.Messaging.IMethodCallMessage,System.Object[])">
2861
+ <summary>
2862
+ Constructs a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyInputParameterCollection"/> that wraps the
2863
+ given method call and arguments.
2864
+ </summary>
2865
+ <param name="callMessage">The call message.</param>
2866
+ <param name="arguments">The arguments.</param>
2867
+ </member>
2868
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodInvocation">
2869
+ <summary>
2870
+ An implementation of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation"/> that wraps the
2871
+ remoting-based <see cref="T:System.Runtime.Remoting.Messaging.IMethodCallMessage"/> in the PIAB call
2872
+ interface.
2873
+ </summary>
2874
+ </member>
2875
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodInvocation.#ctor(System.Runtime.Remoting.Messaging.IMethodCallMessage,System.Object)">
2876
+ <summary>
2877
+ Creates a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation"/> implementation that wraps
2878
+ the given <paramref name="callMessage"/>, with the given ultimate
2879
+ target object.
2880
+ </summary>
2881
+ <param name="callMessage">Remoting call message object.</param>
2882
+ <param name="target">Ultimate target of the method call.</param>
2883
+ </member>
2884
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodInvocation.CreateMethodReturn(System.Object,System.Object[])">
2885
+ <summary>
2886
+ Factory method that creates the correct implementation of
2887
+ IMethodReturn.
2888
+ </summary>
2889
+ <remarks>In this implementation we create an instance of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodReturn"/>.</remarks>
2890
+ <param name="returnValue">Return value to be placed in the IMethodReturn object.</param>
2891
+ <param name="outputs">All arguments passed or returned as out/byref to the method.
2892
+ Note that this is the entire argument list, including in parameters.</param>
2893
+ <returns>New IMethodReturn object.</returns>
2894
+ </member>
2895
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodInvocation.CreateExceptionMethodReturn(System.Exception)">
2896
+ <summary>
2897
+ Factory method that creates the correct implementation of
2898
+ IMethodReturn in the presence of an exception.
2899
+ </summary>
2900
+ <param name="ex">Exception to be set into the returned object.</param>
2901
+ <returns>New IMethodReturn object</returns>
2902
+ </member>
2903
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodInvocation.Inputs">
2904
+ <summary>
2905
+ Gets the inputs for this call.
2906
+ </summary>
2907
+ <value>The input collection.</value>
2908
+ </member>
2909
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodInvocation.Microsoft#Practices#Unity#InterceptionExtension#IMethodInvocation#Arguments">
2910
+ <summary>
2911
+ Collection of all parameters to the call: in, out and byref.
2912
+ </summary>
2913
+ <value>The arguments collection.</value>
2914
+ </member>
2915
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodInvocation.InvocationContext">
2916
+ <summary>
2917
+ Retrieves a dictionary that can be used to store arbitrary additional
2918
+ values. This allows the user to pass values between call handlers.
2919
+ </summary>
2920
+ <value>The invocation context dictionary.</value>
2921
+ </member>
2922
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodInvocation.Target">
2923
+ <summary>
2924
+ The object that the call is made on.
2925
+ </summary>
2926
+ <value>The target object.</value>
2927
+ </member>
2928
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodInvocation.MethodBase">
2929
+ <summary>
2930
+ The method on Target that we're aiming at.
2931
+ </summary>
2932
+ <value>The target method base.</value>
2933
+ </member>
2934
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodInvocation.Arguments">
2935
+ <summary>
2936
+ Gets the collection of arguments being passed to the target.
2937
+ </summary>
2938
+ <remarks>This method exists becuase the underlying remoting call message
2939
+ does not let handlers change the arguments.</remarks>
2940
+ <value>Array containing the arguments to the target.</value>
2941
+ </member>
2942
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodReturn">
2943
+ <summary>
2944
+ An implementation of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMethodReturn"/> that wraps the
2945
+ remoting call and return messages.
2946
+ </summary>
2947
+ </member>
2948
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodReturn.#ctor(System.Runtime.Remoting.Messaging.IMethodCallMessage,System.Object,System.Object[],System.Collections.IDictionary)">
2949
+ <summary>
2950
+ Creates a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodReturn"/> object that contains a
2951
+ return value.
2952
+ </summary>
2953
+ <param name="callMessage">The original call message that invoked the method.</param>
2954
+ <param name="returnValue">Return value from the method.</param>
2955
+ <param name="arguments">Collections of arguments passed to the method (including the new
2956
+ values of any out params).</param>
2957
+ <param name="invocationContext">Invocation context dictionary passed into the call.</param>
2958
+ </member>
2959
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodReturn.#ctor(System.Exception,System.Runtime.Remoting.Messaging.IMethodCallMessage,System.Collections.IDictionary)">
2960
+ <summary>
2961
+ Creates a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodReturn"/> object that contains an
2962
+ exception thrown by the target.
2963
+ </summary>
2964
+ <param name="ex">Exception that was thrown.</param>
2965
+ <param name="callMessage">The original call message that invoked the method.</param>
2966
+ <param name="invocationContext">Invocation context dictionary passed into the call.</param>
2967
+ </member>
2968
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodReturn.ToMethodReturnMessage">
2969
+ <summary>
2970
+ Constructs a <see cref="T:System.Runtime.Remoting.Messaging.IMethodReturnMessage"/> for the remoting
2971
+ infrastructure based on the contents of this object.
2972
+ </summary>
2973
+ <returns>The <see cref="T:System.Runtime.Remoting.Messaging.IMethodReturnMessage"/> instance.</returns>
2974
+ </member>
2975
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodReturn.Outputs">
2976
+ <summary>
2977
+ The collection of output parameters. If the method has no output
2978
+ parameters, this is a zero-length list (never null).
2979
+ </summary>
2980
+ <value>The output parameter collection.</value>
2981
+ </member>
2982
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodReturn.ReturnValue">
2983
+ <summary>
2984
+ Return value from the method call.
2985
+ </summary>
2986
+ <remarks>This value is null if the method has no return value.</remarks>
2987
+ <value>The return value.</value>
2988
+ </member>
2989
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodReturn.Exception">
2990
+ <summary>
2991
+ If the method threw an exception, the exception object is here.
2992
+ </summary>
2993
+ <value>The exception, or null if no exception was thrown.</value>
2994
+ </member>
2995
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodReturn.InvocationContext">
2996
+ <summary>
2997
+ Retrieves a dictionary that can be used to store arbitrary additional
2998
+ values. This allows the user to pass values between call handlers.
2999
+ </summary>
3000
+ <remarks>This is guaranteed to be the same dictionary that was used
3001
+ in the IMethodInvocation object, so handlers can set context
3002
+ properties in the pre-call phase and retrieve them in the after-call phase.
3003
+ </remarks>
3004
+ <value>The invocation context dictionary.</value>
3005
+ </member>
3006
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyOutputParameterCollection">
3007
+ <summary>
3008
+ A class that wraps the outputs of a <see cref="T:System.Runtime.Remoting.Messaging.IMethodCallMessage"/> into the
3009
+ <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IParameterCollection"/> interface.
3010
+ </summary>
3011
+ </member>
3012
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyOutputParameterCollection.#ctor(System.Runtime.Remoting.Messaging.IMethodCallMessage,System.Object[])">
3013
+ <summary>
3014
+ Constructs a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyOutputParameterCollection"/> that wraps the
3015
+ given method call and arguments.
3016
+ </summary>
3017
+ <param name="callMessage">The call message.</param>
3018
+ <param name="arguments">The arguments.</param>
3019
+ </member>
3020
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.RuleDrivenPolicy">
3021
+ <summary>
3022
+ A policy is a combination of a matching rule set and a set of handlers.
3023
+ If the policy applies to a member, then the handlers will be enabled for
3024
+ that member.
3025
+ </summary>
3026
+ </member>
3027
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.RuleDrivenPolicy.#ctor(Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule[],System.String[])">
3028
+ <summary>
3029
+ Creates a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.RuleDrivenPolicy"/> object with a set of matching rules
3030
+ and the names to use when resolving handlers.
3031
+ </summary>
3032
+ </member>
3033
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.RuleDrivenPolicy.#ctor(System.String,Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule[],System.String[])">
3034
+ <summary>
3035
+ Creates a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.RuleDrivenPolicy"/> object with a name, a set of matching rules
3036
+ and the names to use when resolving handlers.
3037
+ </summary>
3038
+ </member>
3039
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.RuleDrivenPolicy.DoesMatch(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo)">
3040
+ <summary>
3041
+ Checks if the rules in this policy match the given member info.
3042
+ </summary>
3043
+ <param name="member">MemberInfo to check against.</param>
3044
+ <returns>true if ruleset matches, false if it does not.</returns>
3045
+ </member>
3046
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.RuleDrivenPolicy.DoGetHandlersFor(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo,Microsoft.Practices.Unity.IUnityContainer)">
3047
+ <summary>
3048
+ Return ordered collection of handlers in order that apply to the given member.
3049
+ </summary>
3050
+ <param name="member">Member that may or may not be assigned handlers by this policy.</param>
3051
+ <param name="container">The <see cref="T:Microsoft.Practices.Unity.IUnityContainer"/> to use when creating handlers,
3052
+ if necessary.</param>
3053
+ <returns>Collection of handlers (possibly empty) that apply to this member.</returns>
3054
+ </member>
3055
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.TagAttribute">
3056
+ <summary>
3057
+ A simple attribute used to "tag" classes, methods, or properties with a
3058
+ string that can later be matched via the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.TagAttributeMatchingRule"/>.
3059
+ </summary>
3060
+ </member>
3061
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TagAttribute.#ctor(System.String)">
3062
+ <summary>
3063
+ Creates a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.TagAttribute"/> with the given string.
3064
+ </summary>
3065
+ <param name="tag">The tag string.</param>
3066
+ </member>
3067
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.TagAttribute.Tag">
3068
+ <summary>
3069
+ The string tag for this attribute.
3070
+ </summary>
3071
+ <value>the tag.</value>
3072
+ </member>
3073
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehavior">
3074
+ <summary>
3075
+ Stores information about a single <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior"/> to be used on an intercepted object and
3076
+ configures a container accordingly.
3077
+ </summary>
3078
+ <seealso cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior"/>
3079
+ </member>
3080
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehavior.#ctor(Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior)">
3081
+ <summary>
3082
+ Initializes a new instance of the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehavior"/> with a
3083
+ <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior"/>.
3084
+ </summary>
3085
+ <param name="interceptionBehavior">The interception behavior to use.</param>
3086
+ </member>
3087
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehavior.#ctor(System.Type,System.String)">
3088
+ <summary>
3089
+ Initializes a new instance of the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehavior"/> with a
3090
+ given type/name pair.
3091
+ </summary>
3092
+ <param name="behaviorType">Type of behavior to </param>
3093
+ <param name="name"></param>
3094
+ </member>
3095
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehavior.#ctor(System.Type)">
3096
+ <summary>
3097
+ Initializes a new instance of the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehavior"/> with a
3098
+ given behavior type.
3099
+ </summary>
3100
+ <param name="behaviorType">Type of behavior to </param>
3101
+ </member>
3102
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehavior.GetBehaviorsPolicy(Microsoft.Practices.ObjectBuilder2.IPolicyList,System.Type,System.String)">
3103
+ <summary>
3104
+ Get the list of behaviors for the current type so that it can be added to.
3105
+ </summary>
3106
+ <param name="policies">Policy list.</param>
3107
+ <param name="implementationType">Implementation type to set behaviors for.</param>
3108
+ <param name="name">Name type is registered under.</param>
3109
+ <returns>An instance of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehaviorsPolicy"/>.</returns>
3110
+ </member>
3111
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehavior`1">
3112
+ <summary>
3113
+ A generic version of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehavior"/> that lets you
3114
+ specify behavior types using generic syntax.
3115
+ </summary>
3116
+ <typeparam name="TBehavior">Type of behavior to register.</typeparam>
3117
+ </member>
3118
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehavior`1.#ctor">
3119
+ <summary>
3120
+ Initializes a new instance of the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehavior"/> with a
3121
+ given behavior type.
3122
+ </summary>
3123
+ </member>
3124
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehavior`1.#ctor(System.String)">
3125
+ <summary>
3126
+ Initializes a new instance of the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehavior"/> with a
3127
+ given type/name pair.
3128
+ </summary>
3129
+ <param name="name">Name to use to resolve the behavior.</param>
3130
+ </member>
3131
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehaviorsPolicy">
3132
+ <summary>
3133
+ An <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehaviorsPolicy"/> that accumulates a sequence of
3134
+ <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior"/> instances for an intercepted object.
3135
+ </summary>
3136
+ </member>
3137
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehaviorsPolicy.GetEffectiveBehaviors(Microsoft.Practices.ObjectBuilder2.IBuilderContext,Microsoft.Practices.Unity.InterceptionExtension.IInterceptor,System.Type,System.Type)">
3138
+ <summary>
3139
+ Get the set of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior"/> object to be used for the given type and
3140
+ interceptor.
3141
+ </summary>
3142
+ <remarks>
3143
+ This method will return a sequence of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior"/>s. These behaviors will
3144
+ only be included if their <see cref="P:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior.WillExecute"/> properties are true.
3145
+ </remarks>
3146
+ <param name="context">Context for the current build operation.</param>
3147
+ <param name="interceptor">Interceptor that will be used to invoke the behavior.</param>
3148
+ <param name="typeToIntercept">Type that interception was requested on.</param>
3149
+ <param name="implementationType">Type that implements the interception.</param>
3150
+ <returns></returns>
3151
+ </member>
3152
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehaviorsPolicy.BehaviorKeys">
3153
+ <summary>
3154
+ Get the set of <see cref="T:Microsoft.Practices.ObjectBuilder2.NamedTypeBuildKey"/> that can be used to resolve the
3155
+ behaviors.
3156
+ </summary>
3157
+ </member>
3158
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehaviorPipeline">
3159
+ <summary>
3160
+ The InterceptionBehaviorPipeline class encapsulates a list of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior"/>s
3161
+ and manages calling them in the proper order with the right inputs.
3162
+ </summary>
3163
+ </member>
3164
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehaviorPipeline.#ctor">
3165
+ <summary>
3166
+ Creates a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline"/> with an empty pipeline.
3167
+ </summary>
3168
+ </member>
3169
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehaviorPipeline.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior})">
3170
+ <summary>
3171
+ Creates a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline"/> with the given collection
3172
+ of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ICallHandler"/>s.
3173
+ </summary>
3174
+ <param name="interceptionBehaviors">Collection of interception behaviors to add to the pipeline.</param>
3175
+ </member>
3176
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehaviorPipeline.Invoke(Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation,Microsoft.Practices.Unity.InterceptionExtension.InvokeInterceptionBehaviorDelegate)">
3177
+ <summary>
3178
+ Execute the pipeline with the given input.
3179
+ </summary>
3180
+ <param name="input">Input to the method call.</param>
3181
+ <param name="target">The ultimate target of the call.</param>
3182
+ <returns>Return value from the pipeline.</returns>
3183
+ </member>
3184
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehaviorPipeline.Add(Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior)">
3185
+ <summary>
3186
+ Adds a <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptionBehavior"/> to the pipeline.
3187
+ </summary>
3188
+ <param name="interceptionBehavior">The interception behavior to add.</param>
3189
+ </member>
3190
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.InterceptionBehaviorPipeline.Count">
3191
+ <summary>
3192
+ Get the number of interceptors in this pipeline.
3193
+ </summary>
3194
+ </member>
3195
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InvokeInterceptionBehaviorDelegate">
3196
+ <summary>
3197
+ This delegate type is the type that points to the next
3198
+ method to execute in the current pipeline.
3199
+ </summary>
3200
+ <param name="input">Inputs to the current method call.</param>
3201
+ <param name="getNext">Delegate to get the next interceptor in the chain.</param>
3202
+ <returns>Return from the next method in the chain.</returns>
3203
+ </member>
3204
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.GetNextInterceptionBehaviorDelegate">
3205
+ <summary>
3206
+ This delegate type is passed to each interceptor's Invoke method.
3207
+ Call the delegate to get the next delegate to call to continue
3208
+ the chain.
3209
+ </summary>
3210
+ <returns>Next delegate in the interceptor chain to call.</returns>
3211
+ </member>
3212
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.Glob">
3213
+ <summary>
3214
+ A &quot;glob&quot; is a string matching pattern. It is similar to the
3215
+ matches available in the file system (*.cs, for example). The Glob
3216
+ class implements this string matching.
3217
+ </summary>
3218
+ <remarks>Glob supports the following metacharacters:
3219
+ * - match zero or more characters
3220
+ ? - match any one character
3221
+ [abc] - match one character if it's in the characters inside the brackets.
3222
+ All other characters in the glob are literals.
3223
+ </remarks>
3224
+ </member>
3225
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Glob.#ctor(System.String)">
3226
+ <summary>
3227
+ Constructs a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.Glob"/> instance that matches the given pattern.
3228
+ </summary>
3229
+ <remarks>
3230
+ The pattern match is case sensitive by default.
3231
+ </remarks>
3232
+ <param name="pattern">Pattern to use. See <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.Glob"/> summary for
3233
+ details of the pattern.</param>
3234
+ </member>
3235
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Glob.#ctor(System.String,System.Boolean)">
3236
+ <summary>
3237
+ Constructs a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.Glob"/> instance that matches the given pattern.
3238
+ </summary>
3239
+ <param name="pattern">The pattern to use. See <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.Glob"/> summary for
3240
+ details of the patterns supported.</param>
3241
+ <param name="caseSensitive">If true, perform a case sensitive match.
3242
+ If false, perform a case insensitive comparison.</param>
3243
+ </member>
3244
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Glob.IsMatch(System.String)">
3245
+ <summary>
3246
+ Checks to see if the given string matches the pattern.
3247
+ </summary>
3248
+ <param name="s">String to check.</param>
3249
+ <returns>True if it matches, false if it doesn't.</returns>
3250
+ </member>
3251
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.ReflectionHelper">
3252
+ <summary>
3253
+ A collection of utility functions to encapsulate details of
3254
+ reflection and finding attributes.
3255
+ </summary>
3256
+ </member>
3257
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ReflectionHelper.GetPropertyFromMethod(System.Reflection.MethodBase)">
3258
+ <summary>
3259
+ Given a MethodBase for a property's get or set method,
3260
+ return the corresponding property info.
3261
+ </summary>
3262
+ <param name="method">MethodBase for the property's get or set method.</param>
3263
+ <returns>PropertyInfo for the property, or null if method is not part of a property.</returns>
3264
+ </member>
3265
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ReflectionHelper.GetPropertyFromMethod(System.Reflection.MethodInfo)">
3266
+ <summary>
3267
+ Given a MethodInfo for a property's get or set method,
3268
+ return the corresponding property info.
3269
+ </summary>
3270
+ <param name="method">MethodBase for the property's get or set method.</param>
3271
+ <returns>PropertyInfo for the property, or null if method is not part of a property.</returns>
3272
+ </member>
3273
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ReflectionHelper.GetAttributes``1(System.Reflection.MemberInfo,System.Boolean)">
3274
+ <summary>
3275
+ Given a particular MemberInfo, return the custom attributes of the
3276
+ given type on that member.
3277
+ </summary>
3278
+ <typeparam name="TAttribute">Type of attribute to retrieve.</typeparam>
3279
+ <param name="member">The member to look at.</param>
3280
+ <param name="inherits">True to include attributes inherited from base classes.</param>
3281
+ <returns>Array of found attributes.</returns>
3282
+ </member>
3283
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ReflectionHelper.GetAllAttributes``1(System.Reflection.MemberInfo,System.Boolean)">
3284
+ <summary>
3285
+ Given a particular MemberInfo, find all the attributes that apply to this
3286
+ member. Specifically, it returns the attributes on the type, then (if it's a
3287
+ property accessor) on the property, then on the member itself.
3288
+ </summary>
3289
+ <typeparam name="TAttribute">Type of attribute to retrieve.</typeparam>
3290
+ <param name="member">The member to look at.</param>
3291
+ <param name="inherits">true to include attributes inherited from base classes.</param>
3292
+ <returns>Array of found attributes.</returns>
3293
+ </member>
3294
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.ConstructorWithResolverKeysSelectorPolicy">
3295
+ <summary>
3296
+ A small implementation of <see cref="T:Microsoft.Practices.ObjectBuilder2.IConstructorSelectorPolicy"/> that returns the
3297
+ given <see cref="T:Microsoft.Practices.ObjectBuilder2.SelectedConstructor"/> object.
3298
+ </summary>
3299
+ </member>
3300
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ConstructorWithResolverKeysSelectorPolicy.#ctor(Microsoft.Practices.ObjectBuilder2.SelectedConstructor)">
3301
+ <summary>
3302
+ Create a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ConstructorWithResolverKeysSelectorPolicy"/> instance.
3303
+ </summary>
3304
+ <param name="selectedConstructor">Information about which constructor to select.</param>
3305
+ </member>
3306
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ConstructorWithResolverKeysSelectorPolicy.SelectConstructor(Microsoft.Practices.ObjectBuilder2.IBuilderContext,Microsoft.Practices.ObjectBuilder2.IPolicyList)">
3307
+ <summary>
3308
+ Choose the constructor to call for the given type.
3309
+ </summary>
3310
+ <param name="context">Current build context</param>
3311
+ <param name="resolverPolicyDestination">The <see cref="T:Microsoft.Practices.ObjectBuilder2.IPolicyList"/> to add any
3312
+ generated resolver objects into.</param>
3313
+ <returns>The chosen constructor.</returns>
3314
+ </member>
3315
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocationMethods">
3316
+ <summary>
3317
+ MethodInfo objects for the methods we need to generate
3318
+ calls to on IMethodInvocation.
3319
+ </summary>
3320
+ </member>
3321
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptingClassGenerator">
3322
+ <summary>
3323
+ Class that handles generating the dynamic types used for interception.
3324
+ </summary>
3325
+ </member>
3326
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptingClassGenerator.#ctor(System.Type,System.Type[])">
3327
+ <summary>
3328
+ Create a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptingClassGenerator"/> that will generate a
3329
+ wrapper class for the requested <paramref name="typeToIntercept"/>.
3330
+ </summary>
3331
+ <param name="typeToIntercept">Type to generate the wrapper for.</param>
3332
+ <param name="additionalInterfaces">Additional interfaces the proxy must implement.</param>
3333
+ </member>
3334
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptingClassGenerator.GenerateType">
3335
+ <summary>
3336
+ Create the wrapper class for the given type.
3337
+ </summary>
3338
+ <returns>Wrapper type.</returns>
3339
+ </member>
3340
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.MethodOverride">
3341
+ <summary>
3342
+ Represents the implementation of a method override.
3343
+ </summary>
3344
+ </member>
3345
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodOverride.BuildAbstractMethodInvokedException">
3346
+ <summary>
3347
+ Used to throw an <see cref="T:System.NotImplementedException"/> for overrides on abstract methods.
3348
+ </summary>
3349
+ </member>
3350
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodInvocation">
3351
+ <summary>
3352
+ Implementation of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation"/> used
3353
+ by the virtual method interceptor.
3354
+ </summary>
3355
+ </member>
3356
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodInvocation.#ctor(System.Object,System.Reflection.MethodBase,System.Object[])">
3357
+ <summary>
3358
+ Construct a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodInvocation"/> instance for the
3359
+ given target object and method, passing the <paramref name="parameterValues"/>
3360
+ to the target method.
3361
+ </summary>
3362
+ <param name="target">Object that is target of this invocation.</param>
3363
+ <param name="targetMethod">Method on <paramref name="target"/> to call.</param>
3364
+ <param name="parameterValues">Values for the parameters.</param>
3365
+ </member>
3366
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodInvocation.CreateMethodReturn(System.Object,System.Object[])">
3367
+ <summary>
3368
+ Factory method that creates the correct implementation of
3369
+ IMethodReturn.
3370
+ </summary>
3371
+ <param name="returnValue">Return value to be placed in the IMethodReturn object.</param>
3372
+ <param name="outputs">All arguments passed or returned as out/byref to the method.
3373
+ Note that this is the entire argument list, including in parameters.</param>
3374
+ <returns>New IMethodReturn object.</returns>
3375
+ </member>
3376
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodInvocation.CreateExceptionMethodReturn(System.Exception)">
3377
+ <summary>
3378
+ Factory method that creates the correct implementation of
3379
+ IMethodReturn in the presence of an exception.
3380
+ </summary>
3381
+ <param name="ex">Exception to be set into the returned object.</param>
3382
+ <returns>New IMethodReturn object</returns>
3383
+ </member>
3384
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodInvocation.Inputs">
3385
+ <summary>
3386
+ Gets the inputs for this call.
3387
+ </summary>
3388
+ </member>
3389
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodInvocation.Arguments">
3390
+ <summary>
3391
+ Collection of all parameters to the call: in, out and byref.
3392
+ </summary>
3393
+ </member>
3394
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodInvocation.InvocationContext">
3395
+ <summary>
3396
+ Retrieves a dictionary that can be used to store arbitrary additional
3397
+ values. This allows the user to pass values between call handlers.
3398
+ </summary>
3399
+ </member>
3400
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodInvocation.Target">
3401
+ <summary>
3402
+ The object that the call is made on.
3403
+ </summary>
3404
+ </member>
3405
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodInvocation.MethodBase">
3406
+ <summary>
3407
+ The method on Target that we're aiming at.
3408
+ </summary>
3409
+ </member>
3410
+ <member name="T:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodReturn">
3411
+ <summary>
3412
+ An implementation of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMethodReturn"/> used by
3413
+ the virtual method interception mechanism.
3414
+ </summary>
3415
+ </member>
3416
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodReturn.#ctor(Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation,System.Object,System.Object[])">
3417
+ <summary>
3418
+ Construct a <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodReturn"/> instance that returns
3419
+ a value.
3420
+ </summary>
3421
+ <param name="originalInvocation">The method invocation.</param>
3422
+ <param name="returnValue">Return value (should be null if method returns void).</param>
3423
+ <param name="arguments">All arguments (including current values) passed to the method.</param>
3424
+ </member>
3425
+ <member name="M:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodReturn.#ctor(Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation,System.Exception)">
3426
+ <summary>
3427
+ Construct a <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodReturn"/> instance for when the target method throws an exception.
3428
+ </summary>
3429
+ <param name="originalInvocation">The method invocation.</param>
3430
+ <param name="exception">Exception that was thrown.</param>
3431
+ </member>
3432
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodReturn.Outputs">
3433
+ <summary>
3434
+ The collection of output parameters. If the method has no output
3435
+ parameters, this is a zero-length list (never null).
3436
+ </summary>
3437
+ </member>
3438
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodReturn.ReturnValue">
3439
+ <summary>
3440
+ Returns value from the method call.
3441
+ </summary>
3442
+ <remarks>This value is null if the method has no return value.</remarks>
3443
+ </member>
3444
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodReturn.Exception">
3445
+ <summary>
3446
+ If the method threw an exception, the exception object is here.
3447
+ </summary>
3448
+ </member>
3449
+ <member name="P:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodReturn.InvocationContext">
3450
+ <summary>
3451
+ Retrieves a dictionary that can be used to store arbitrary additional
3452
+ values. This allows the user to pass values between call handlers.
3453
+ </summary>
3454
+ <remarks>This is guaranteed to be the same dictionary that was used
3455
+ in the IMethodInvocation object, so handlers can set context
3456
+ properties in the pre-call phase and retrieve them in the after-call phase.
3457
+ </remarks>
3458
+ </member>
3459
+ </members>
3460
+ </doc>