PageRenderTime 51ms CodeModel.GetById 11ms RepoModel.GetById 0ms app.codeStats 0ms

/V2/trunk/LIB/Desktop/Unity/Microsoft.Practices.Unity.Interception.xml

#
XML | 1029 lines | 1025 code | 4 blank | 0 comment | 0 complexity | f9be7bb221c12a026cc743a8439ffe59 MD5 | raw file
  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.IInterceptingProxy">
  8. <summary>
  9. This interface is implemented by all proxy objects, type or instance based.
  10. It gives access to the handler pipelines for each method so that they can
  11. be set.
  12. </summary>
  13. </member>
  14. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IInterceptingProxy.GetPipeline(System.Reflection.MethodBase)">
  15. <summary>
  16. Retrieve the pipeline assocated with the requested <paramref name="method"/>.
  17. </summary>
  18. <param name="method">Method for which the pipeline is being requested.</param>
  19. <returns>The handler pipeline for the given method. If no pipeline has
  20. been set, returns a new empty pipeline.</returns>
  21. </member>
  22. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IInterceptingProxy.SetPipeline(System.Reflection.MethodBase,Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline)">
  23. <summary>
  24. Set a new pipeline for a method.
  25. </summary>
  26. <param name="method">Method to apply the pipeline to.</param>
  27. <param name="pipeline">The new pipeline.</param>
  28. </member>
  29. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptor">
  30. <summary>
  31. Base interface for type and instance based interceptor classes.
  32. </summary>
  33. </member>
  34. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IInterceptor.CanIntercept(System.Type)">
  35. <summary>
  36. Can this interceptor generate a proxy for the given type?
  37. </summary>
  38. <param name="t">Type to check.</param>
  39. <returns>True if interception is possible, false if not.</returns>
  40. </member>
  41. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IInterceptor.GetInterceptableMethods(System.Type,System.Type)">
  42. <summary>
  43. Returns a sequence of methods on the given type that can be
  44. intercepted.
  45. </summary>
  46. <param name="interceptedType">Type that was specified when this interceptor
  47. was created (typically an interface).</param>
  48. <param name="implementationType">The concrete type of the implementing object.</param>
  49. <returns>Sequence of <see cref="T:System.Reflection.MethodInfo"/> objects.</returns>
  50. </member>
  51. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IInterceptor.MethodInfoForPipeline(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo)">
  52. <summary>
  53. Given a <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo"/>, return the appropriate
  54. <see cref="T:System.Reflection.MethodInfo"/> object to use to attach a <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline"/>
  55. to so that the handlers will get called when the method gets called.
  56. </summary>
  57. <param name="methodInfo">Original <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo"/> object that
  58. combines the <see cref="T:System.Reflection.MethodInfo"/>s for an interface method and the corresponding implementation.</param>
  59. <returns>The <see cref="T:System.Reflection.MethodInfo"/> object to pass to the <see cref="M:Microsoft.Practices.Unity.InterceptionExtension.IInterceptingProxy.SetPipeline(System.Reflection.MethodBase,Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline)"/> method.</returns>
  60. </member>
  61. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptionPolicy">
  62. <summary>
  63. An interface that determines when to intercept instances
  64. and which interceptor to use.
  65. </summary>
  66. </member>
  67. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptionPolicy.Interceptor">
  68. <summary>
  69. Interceptor to use.
  70. </summary>
  71. </member>
  72. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor">
  73. <summary>
  74. Interface for interceptors that generate separate proxy
  75. objects to implement interception on instances.
  76. </summary>
  77. </member>
  78. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor.CreateProxy(System.Type,System.Object)">
  79. <summary>
  80. Create a proxy object that provides interception for <paramref name="target"/>.
  81. </summary>
  82. <param name="t">Type to generate the proxy of.</param>
  83. <param name="target">Object to create the proxy for.</param>
  84. <returns>The proxy object.</returns>
  85. </member>
  86. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InstanceInterceptionPolicy">
  87. <summary>
  88. Implementation if <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptionPolicy"/>
  89. </summary>
  90. </member>
  91. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InstanceInterceptionPolicy.#ctor(Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor)">
  92. <summary>
  93. Create a new instance of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.InstanceInterceptionPolicy"/>.
  94. </summary>
  95. <param name="interceptor">Interceptor to store.</param>
  96. </member>
  97. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.InstanceInterceptionPolicy.Interceptor">
  98. <summary>
  99. Interceptor to use.
  100. </summary>
  101. </member>
  102. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InstanceInterceptionStrategy">
  103. <summary>
  104. A <see cref="T:Microsoft.Practices.ObjectBuilder2.IBuilderStrategy"/> that intercepts objects
  105. in the build chain by creating a proxy object.
  106. </summary>
  107. </member>
  108. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InstanceInterceptionStrategy.PostBuildUp(Microsoft.Practices.ObjectBuilder2.IBuilderContext)">
  109. <summary>
  110. Called during the chain of responsibility for a build operation. The
  111. PostBuildUp method is called when the chain has finished the PreBuildUp
  112. phase and executes in reverse order from the PreBuildUp calls.
  113. </summary>
  114. <param name="context">Context of the build operation.</param>
  115. </member>
  116. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InterfaceInterceptor">
  117. <summary>
  118. An instance interceptor that works by generating a
  119. proxy class on the fly for a single interface.
  120. </summary>
  121. </member>
  122. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterfaceInterceptor.CanIntercept(System.Type)">
  123. <summary>
  124. Can this interceptor generate a proxy for the given type?
  125. </summary>
  126. <param name="t">Type to check.</param>
  127. <returns>True if interception is possible, false if not.</returns>
  128. </member>
  129. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterfaceInterceptor.GetInterceptableMethods(System.Type,System.Type)">
  130. <summary>
  131. Returns a sequence of methods on the given type that can be
  132. intercepted.
  133. </summary>
  134. <param name="interceptedType">Type that was specified when this interceptor
  135. was created (typically an interface).</param>
  136. <param name="implementationType">The concrete type of the implementing object.</param>
  137. <returns>Sequence of <see cref="T:System.Reflection.MethodInfo"/> objects.</returns>
  138. </member>
  139. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterfaceInterceptor.CreateProxy(System.Type,System.Object)">
  140. <summary>
  141. Create a proxy object that provides interception for <paramref name="target"/>.
  142. </summary>
  143. <param name="t">Type to generate the proxy of.</param>
  144. <param name="target">Object to create the proxy for.</param>
  145. <returns>The proxy object.</returns>
  146. </member>
  147. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterfaceInterceptor.MethodInfoForPipeline(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo)">
  148. <summary>
  149. Given a <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo"/>, return the appropriate
  150. <see cref="T:System.Reflection.MethodInfo"/> object to use to attach a <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline"/>
  151. to so that the handlers will get called when the method gets called.
  152. </summary>
  153. <param name="methodInfo">Original <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo"/> object that
  154. combines the <see cref="T:System.Reflection.MethodInfo"/>s for an interface method and the corresponding implementation.</param>
  155. <returns>The <see cref="T:System.Reflection.MethodInfo"/> object to pass to the <see cref="M:Microsoft.Practices.Unity.InterceptionExtension.IInterceptingProxy.SetPipeline(System.Reflection.MethodBase,Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline)"/> method.</returns>
  156. </member>
  157. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InterfaceInterceptorClassGenerator">
  158. <summary>
  159. A class used to generate proxy classes for doing interception on
  160. interfaces.
  161. </summary>
  162. </member>
  163. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterfaceInterceptorClassGenerator.#ctor(System.Type)">
  164. <summary>
  165. Create an instance of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.InterfaceInterceptorClassGenerator"/> that
  166. can construct an intercepting proxy for the given interface.
  167. </summary>
  168. <param name="typeToIntercept">Type of the interface to intercept.</param>
  169. </member>
  170. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterfaceInterceptorClassGenerator.CreateProxyType">
  171. <summary>
  172. Create the type to proxy the requested interface
  173. </summary>
  174. <returns></returns>
  175. </member>
  176. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptingRealProxy">
  177. <summary>
  178. This class provides the remoting-based interception mechanism. It is
  179. invoked by a call on the corresponding TransparentProxy
  180. object. It routes calls through the handlers as appropriate.
  181. </summary>
  182. </member>
  183. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptingRealProxy.#ctor(System.Object,System.Type)">
  184. <summary>
  185. Creates a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptingRealProxy"/> instance that applies
  186. the given policies to the given target object.
  187. </summary>
  188. <param name="target">Target object to intercept calls to.</param>
  189. <param name="classToProxy">Type to return as the type being proxied.</param>
  190. </member>
  191. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptingRealProxy.GetPipeline(System.Reflection.MethodBase)">
  192. <summary>
  193. Retrieve the pipeline assocated with the requested <paramref name="method"/>.
  194. </summary>
  195. <param name="method">Method for which the pipeline is being requested.</param>
  196. <returns>The handler pipeline for the given method. If no pipeline has
  197. been set, returns a new empty pipeline.</returns>
  198. </member>
  199. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptingRealProxy.SetPipeline(System.Reflection.MethodBase,Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline)">
  200. <summary>
  201. Set a new pipeline for a method.
  202. </summary>
  203. <param name="method">Method to apply the pipeline to.</param>
  204. <param name="pipeline">The new pipeline.</param>
  205. </member>
  206. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptingRealProxy.CanCastTo(System.Type,System.Object)">
  207. <summary>
  208. 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.
  209. </summary>
  210. <returns>
  211. true if cast will succeed; otherwise, false.
  212. </returns>
  213. <param name="fromType">The type to cast to. </param>
  214. <param name="o">The object for which to check casting. </param>
  215. <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>
  216. </member>
  217. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptingRealProxy.Invoke(System.Runtime.Remoting.Messaging.IMessage)">
  218. <summary>
  219. Executes a method call represented by the <paramref name="msg"/>
  220. parameter. The CLR will call this method when a method is called
  221. on the TransparentProxy. This method runs the invocation through
  222. the call handler pipeline and finally sends it down to the
  223. target object, and then back through the pipeline.
  224. </summary>
  225. <param name="msg">An <see cref="T:System.Runtime.Remoting.Messaging.IMessage"/> object that contains the information
  226. about the method call.</param>
  227. <returns>An <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyMethodReturn"/> object contains the
  228. information about the target method's return value.</returns>
  229. </member>
  230. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InterceptingRealProxy.TranslateInterfaceMethod(System.Reflection.MethodBase)">
  231. <summary>
  232. Given a MethodBase, if it's for an interface method, return the MethodBase
  233. for the method that implements the interface method. If it's not an
  234. interface method, do nothing.
  235. </summary>
  236. <param name="method">Original Method</param>
  237. <returns>The implementing method.</returns>
  238. </member>
  239. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.InterceptingRealProxy.Target">
  240. <summary>
  241. Returns the target of this intercepted call.
  242. </summary>
  243. <value>The target object.</value>
  244. </member>
  245. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.InterceptingRealProxy.TypeName">
  246. <summary>
  247. Gets or sets the fully qualified type name of the server object in a <see cref="T:System.Runtime.Remoting.ObjRef"></see>.
  248. </summary>
  249. <value>
  250. The fully qualified type name of the server object in a <see cref="T:System.Runtime.Remoting.ObjRef"></see>.
  251. </value>
  252. <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>
  253. </member>
  254. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyInterceptor">
  255. <summary>
  256. An instance interceptor that uses remoting proxies to do the
  257. interception.
  258. </summary>
  259. </member>
  260. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyInterceptor.CanIntercept(System.Type)">
  261. <summary>
  262. Can this interceptor generate a proxy for the given type?
  263. </summary>
  264. <param name="t">Type to check.</param>
  265. <returns>True if interception is possible, false if not.</returns>
  266. </member>
  267. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyInterceptor.GetInterceptableMethods(System.Type,System.Type)">
  268. <summary>
  269. Returns a sequence of methods on the given type that can be
  270. intercepted.
  271. </summary>
  272. <param name="interceptedType">Type that was specified when this interceptor
  273. was created (typically an interface).</param>
  274. <param name="implementationType">The concrete type of the implementing object.</param>
  275. <returns>Sequence of <see cref="T:System.Reflection.MethodInfo"/> objects.</returns>
  276. </member>
  277. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyInterceptor.CreateProxy(System.Type,System.Object)">
  278. <summary>
  279. Create a proxy object that provides interception for <paramref name="target"/>.
  280. </summary>
  281. <param name="t">Type to generate the proxy of.</param>
  282. <param name="target">Object to create the proxy for.</param>
  283. <returns>The proxy object.</returns>
  284. </member>
  285. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TransparentProxyInterceptor.MethodInfoForPipeline(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo)">
  286. <summary>
  287. Given a <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo"/>, return the appropriate
  288. <see cref="T:System.Reflection.MethodInfo"/> object to use to attach a <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline"/>
  289. to so that the handlers will get called when the method gets called.
  290. </summary>
  291. <param name="methodInfo">Original <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo"/> object that
  292. combines the <see cref="T:System.Reflection.MethodInfo"/>s for an interface method and the corresponding implementation.</param>
  293. <returns>The <see cref="T:System.Reflection.MethodInfo"/> object to pass to the <see cref="M:Microsoft.Practices.Unity.InterceptionExtension.IInterceptingProxy.SetPipeline(System.Reflection.MethodBase,Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline)"/> method.</returns>
  294. </member>
  295. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo">
  296. <summary>
  297. A dumb data holder that returns the methodinfo for both an
  298. interface method and the method that implements that interface
  299. method.
  300. </summary>
  301. </member>
  302. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo.#ctor(System.Reflection.MethodInfo,System.Reflection.MethodInfo)">
  303. <summary>
  304. Construct a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo"/> which holds
  305. the given <see cref="T:System.Reflection.MethodInfo"/> objects.
  306. </summary>
  307. <param name="interfaceMethodInfo">MethodInfo for the interface method (may be null if no interface).</param>
  308. <param name="implementationMethodInfo">MethodInfo for implementing method.</param>
  309. </member>
  310. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo.Equals(System.Object)">
  311. <summary>
  312. Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.
  313. </summary>
  314. <returns>
  315. true if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />; otherwise, false.
  316. </returns>
  317. <param name="obj">
  318. The <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Object" />.
  319. </param>
  320. <exception cref="T:System.NullReferenceException">
  321. The <paramref name="obj" /> parameter is null.
  322. </exception><filterpriority>2</filterpriority>
  323. </member>
  324. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo.GetHashCode">
  325. <summary>
  326. Serves as a hash function for a particular type.
  327. </summary>
  328. <returns>
  329. A hash code for the current <see cref="T:System.Object" />.
  330. </returns>
  331. <filterpriority>2</filterpriority>
  332. </member>
  333. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo.op_Equality(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo,Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo)">
  334. <summary>
  335. Standard equals operator
  336. </summary>
  337. <param name="left"></param>
  338. <param name="right"></param>
  339. <returns></returns>
  340. </member>
  341. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo.op_Inequality(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo,Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo)">
  342. <summary>
  343. standard not equal operator.
  344. </summary>
  345. <param name="left"></param>
  346. <param name="right"></param>
  347. <returns></returns>
  348. </member>
  349. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo.ToString">
  350. <summary>
  351. Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
  352. </summary>
  353. <returns>
  354. A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
  355. </returns>
  356. <filterpriority>2</filterpriority>
  357. </member>
  358. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo.InterfaceMethodInfo">
  359. <summary>
  360. The interface method MethodInfo.
  361. </summary>
  362. </member>
  363. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo.ImplementationMethodInfo">
  364. <summary>
  365. The implementing method MethodInfo.
  366. </summary>
  367. </member>
  368. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptionPolicy">
  369. <summary>
  370. Interface that controls when and how types get intercepted.
  371. </summary>
  372. </member>
  373. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptionPolicy.Interceptor">
  374. <summary>
  375. Interceptor to use to create type proxy
  376. </summary>
  377. </member>
  378. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptionPolicy.ProxyType">
  379. <summary>
  380. Cache for proxied type.
  381. </summary>
  382. </member>
  383. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor">
  384. <summary>
  385. Interface for interceptor objects that generate
  386. proxy types.
  387. </summary>
  388. </member>
  389. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor.CreateProxyType(System.Type)">
  390. <summary>
  391. Create a type to proxy for the given type <paramref name="t"/>.
  392. </summary>
  393. <param name="t">Type to proxy.</param>
  394. <returns>New type that can be instantiated instead of the
  395. original type t, and supports interception.</returns>
  396. </member>
  397. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.TypeInterceptionPolicy">
  398. <summary>
  399. Implementation of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptionPolicy"/>.
  400. </summary>
  401. </member>
  402. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TypeInterceptionPolicy.#ctor(Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor)">
  403. <summary>
  404. Create a new instance of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.TypeInterceptionPolicy"/> that
  405. uses the given <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor"/>.
  406. </summary>
  407. <param name="interceptor">Interceptor to use.</param>
  408. </member>
  409. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.TypeInterceptionPolicy.Interceptor">
  410. <summary>
  411. Interceptor to use to create type proxy
  412. </summary>
  413. </member>
  414. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.TypeInterceptionPolicy.ProxyType">
  415. <summary>
  416. Cache for proxied type.
  417. </summary>
  418. </member>
  419. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.TypeInterceptionStrategy">
  420. <summary>
  421. A <see cref="T:Microsoft.Practices.ObjectBuilder2.IBuilderStrategy"/> that hooks up type interception. It looks for
  422. a <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptionPolicy"/> for the current build key, or the current
  423. build type. If present, it substitutes types so that that proxy class gets
  424. built up instead. On the way back, it hooks up the appropriate handlers.
  425. </summary>
  426. </member>
  427. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TypeInterceptionStrategy.PreBuildUp(Microsoft.Practices.ObjectBuilder2.IBuilderContext)">
  428. <summary>
  429. Called during the chain of responsibility for a build operation. The
  430. PreBuildUp method is called when the chain is being executed in the
  431. forward direction.
  432. </summary>
  433. <remarks>In this class, PreBuildUp is responsible for figuring out if the
  434. class is proxiable, and if so, replacing it with a proxy class.</remarks>
  435. <param name="context">Context of the build operation.</param>
  436. </member>
  437. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.TypeInterceptionStrategy.PostBuildUp(Microsoft.Practices.ObjectBuilder2.IBuilderContext)">
  438. <summary>
  439. Called during the chain of responsibility for a build operation. The
  440. PostBuildUp method is called when the chain has finished the PreBuildUp
  441. phase and executes in reverse order from the PreBuildUp calls.
  442. </summary>
  443. <remarks>In this class, PostBuildUp checks to see if the object was proxyable,
  444. and if it was, wires up the handlers.</remarks>
  445. <param name="context">Context of the build operation.</param>
  446. </member>
  447. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InterceptingProxyImplementor">
  448. <summary>
  449. This class provides the code needed to implement the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IInterceptingProxy"/>
  450. interface on a class.
  451. </summary>
  452. </member>
  453. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.MethodSorter">
  454. <summary>
  455. A utility class that takes a set of <see cref="T:System.Reflection.MethodInfo"/>s
  456. and pulls out shadowed methods, only returning the ones that
  457. are actually accessible to be overriden.
  458. </summary>
  459. </member>
  460. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodSorter.GroupMethodsByName(System.Collections.Generic.IEnumerable{System.Reflection.MethodInfo})">
  461. <summary>
  462. Take the list of methods and put them together into lists index by method name.
  463. </summary>
  464. <param name="methodsToSort">Methods to sort through.</param>
  465. </member>
  466. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodSorter.RemoveHiddenOverloads(System.Collections.Generic.IEnumerable{System.Reflection.MethodInfo})">
  467. <summary>
  468. Given a list of overloads for a method, return only those methods
  469. that are actually visible. In other words, if there's a "new foo" method
  470. somewhere, return only the new one, not the one from the base class
  471. that's now hidden.
  472. </summary>
  473. <param name="methods">Sequence of methods to process.</param>
  474. <returns>Sequence of returned methods.</returns>
  475. </member>
  476. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodSorter.GroupOverloadedMethods(System.Collections.Generic.IList{System.Reflection.MethodInfo})">
  477. <summary>
  478. Take a semi-randomly ordered set of methods on a type and
  479. sort them into groups by name and by parameter list.
  480. </summary>
  481. <param name="sortedMethods">The list of methods.</param>
  482. <returns>Sequence of lists of methods, grouped by method name.</returns>
  483. </member>
  484. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodSorter.SelectMostDerivedOverload(System.Collections.Generic.IList{System.Reflection.MethodInfo})">
  485. <summary>
  486. Given a set of hiding overloads, return only the currently visible one.
  487. </summary>
  488. <param name="overloads">The set of overloads.</param>
  489. <returns>The most visible one.</returns>
  490. </member>
  491. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodSorter.DeclarationDepth(System.Reflection.MethodInfo)">
  492. <summary>
  493. Given a method, return a value indicating how deeply in the
  494. inheritance hierarchy the method is declared. Current type = 0,
  495. parent = 1, grandparent = 2, etc.
  496. </summary>
  497. <param name="method">Method to check.</param>
  498. <returns>Declaration depth</returns>
  499. </member>
  500. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodSorter.CompareMethodInfosByParameterLists(System.Reflection.MethodInfo,System.Reflection.MethodInfo)">
  501. <summary>
  502. A <see cref="T:System.Comparison`1"/> implementation that can compare two <see cref="T:System.Reflection.MethodInfo"/>
  503. based on their parameter lists.
  504. </summary>
  505. <param name="left">First <see cref="T:System.Reflection.MethodInfo"/> to compare.</param>
  506. <param name="right">Second <see cref="T:System.Reflection.MethodInfo"/> to compare.</param>
  507. <returns>&lt; 0, 0, or &gt; 0 based on which one is "greater" than the other.</returns>
  508. </member>
  509. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodSorter.CompareParameterLists(System.Reflection.ParameterInfo[],System.Reflection.ParameterInfo[])">
  510. <summary>
  511. Compare two parameter lists.
  512. </summary>
  513. <param name="left">First parameter list.</param>
  514. <param name="right">Second parameter list.</param>
  515. <returns>&lt; 0, 0, or &gt; 0.</returns>
  516. </member>
  517. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.MethodSorter.CompareParameterInfo(System.Reflection.ParameterInfo,System.Reflection.ParameterInfo)">
  518. <summary>
  519. Compare two <see cref="T:System.Reflection.ParameterInfo"/> objects by type.
  520. </summary>
  521. <param name="left">First <see cref="T:System.Reflection.ParameterInfo"/></param>
  522. <param name="right">First <see cref="T:System.Reflection.ParameterInfo"/></param>
  523. <returns>&lt; 0, 0, or &gt; 0</returns>
  524. </member>
  525. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodInterceptor">
  526. <summary>
  527. A type based interceptor that works by generated a new class
  528. on the fly that derives from the target class.
  529. </summary>
  530. </member>
  531. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodInterceptor.CanIntercept(System.Type)">
  532. <summary>
  533. Can this interceptor generate a proxy for the given type?
  534. </summary>
  535. <param name="t">Type to check.</param>
  536. <returns>True if interception is possible, false if not.</returns>
  537. </member>
  538. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodInterceptor.GetInterceptableMethods(System.Type,System.Type)">
  539. <summary>
  540. Returns a sequence of methods on the given type that can be
  541. intercepted.
  542. </summary>
  543. <param name="interceptedType">Type that was specified when this interceptor
  544. was created (typically an interface).</param>
  545. <param name="implementationType">The concrete type of the implementing object.</param>
  546. <returns>Sequence of <see cref="T:System.Reflection.MethodInfo"/> objects.</returns>
  547. </member>
  548. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodInterceptor.CreateProxyType(System.Type)">
  549. <summary>
  550. Create a type to proxy for the given type <paramref name="t"/>.
  551. </summary>
  552. <param name="t">Type to proxy.</param>
  553. <returns>New type that can be instantiated instead of the
  554. original type t, and supports interception.</returns>
  555. </member>
  556. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.VirtualMethodInterceptor.MethodInfoForPipeline(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo)">
  557. <summary>
  558. Given a <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo"/>, return the appropriate
  559. <see cref="T:System.Reflection.MethodInfo"/> object to use to attach a <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline"/>
  560. to so that the handlers will get called when the method gets called.
  561. </summary>
  562. <param name="methodInfo">Original <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo"/> object that
  563. combines the <see cref="T:System.Reflection.MethodInfo"/>s for an interface method and the corresponding implementation.</param>
  564. <returns>The <see cref="T:System.Reflection.MethodInfo"/> object to pass to the <see cref="M:Microsoft.Practices.Unity.InterceptionExtension.IInterceptingProxy.SetPipeline(System.Reflection.MethodBase,Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline)"/> method.</returns>
  565. </member>
  566. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.PipelineManager">
  567. <summary>
  568. A collection of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline"/> objects, indexed
  569. by <see cref="T:System.Reflection.MethodBase"/>. Returns an empty pipeline if a
  570. MethodBase is requested that isn't in the dictionary.
  571. </summary>
  572. </member>
  573. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PipelineManager.GetPipeline(System.Int32)">
  574. <summary>
  575. Retrieve the pipeline assocated with the requested <paramref name="methodToken"/>.
  576. </summary>
  577. <param name="methodToken">Metadata token for the method for which the pipeline is being requested.</param>
  578. <returns>The handler pipeline for the given method. If no pipeline has
  579. been set, returns a new empty pipeline.</returns>
  580. </member>
  581. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.PipelineManager.SetPipeline(System.Int32,Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline)">
  582. <summary>
  583. Set a new pipeline for a method.
  584. </summary>
  585. <param name="methodToken">Metadata token for the method to apply the pipeline to.</param>
  586. <param name="pipeline">The new pipeline.</param>
  587. </member>
  588. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.ApplyNoPoliciesAttribute">
  589. <summary>
  590. Attribute used to indicate that no interception should be applied to
  591. the attribute target.
  592. </summary>
  593. </member>
  594. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.AttributeDrivenPolicy">
  595. <summary>
  596. A <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy"/> class that reads and constructs handlers
  597. based on <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerAttribute"/> on the target.
  598. </summary>
  599. </member>
  600. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy">
  601. <summary>
  602. Base class for Policies that specifies which handlers apply to which methods of an object.
  603. </summary>
  604. <remarks>
  605. <para>This base class always enforces the
  606. <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ApplyNoPoliciesMatchingRule"/> before
  607. passing the checks onto derived classes. This way, derived classes do not need to
  608. worry about implementing this check.</para>
  609. <para>It also means that derived classes cannot override this rule. This is considered a feature.</para></remarks>
  610. </member>
  611. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy.#ctor">
  612. <summary>
  613. Creates a new empty Policy.
  614. </summary>
  615. </member>
  616. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy.#ctor(System.String)">
  617. <summary>
  618. Creates a new empty policy with the given name.
  619. </summary>
  620. <param name="name">Name of the policy.</param>
  621. </member>
  622. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy.Matches(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo)">
  623. <summary>
  624. Checks if the rules in this policy match the given member info.
  625. </summary>
  626. <param name="member">MemberInfo to check against.</param>
  627. <returns>true if ruleset matches, false if it does not.</returns>
  628. </member>
  629. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy.GetHandlersFor(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo,Microsoft.Practices.Unity.IUnityContainer)">
  630. <summary>
  631. Returns ordered collection of handlers in order that apply to the given member.
  632. </summary>
  633. <param name="member">Member that may or may not be assigned handlers by this policy.</param>
  634. <param name="container">The <see cref="T:Microsoft.Practices.Unity.IUnityContainer"/> to use when creating handlers,
  635. if necessary.</param>
  636. <returns>Collection of handlers (possibly empty) that apply to this member.</returns>
  637. </member>
  638. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy.GetMethodSet(System.Reflection.MethodBase)">
  639. <summary>
  640. Given a method on an object, return the set of MethodBases for that method,
  641. plus any inteface methods that the member implements.
  642. </summary>
  643. <param name="member">Member to get Method Set for.</param>
  644. <returns>The set of methods</returns>
  645. </member>
  646. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy.DoesMatch(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo)">
  647. <summary>
  648. Derived classes implement this method to calculate if the policy
  649. will provide any handler to the specified member.
  650. </summary>
  651. <param name="member">Member to check.</param>
  652. <returns>true if policy applies to this member, false if not.</returns>
  653. </member>
  654. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy.DoGetHandlersFor(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo,Microsoft.Practices.Unity.IUnityContainer)">
  655. <summary>
  656. Derived classes implement this method to supply the list of handlers for
  657. this specific member.
  658. </summary>
  659. <param name="member">Member to get handlers for.</param>
  660. <param name="container">The <see cref="T:Microsoft.Practices.Unity.IUnityContainer"/> to use when creating handlers,
  661. if necessary.</param>
  662. <returns>Enumerable collection of handlers for this method.</returns>
  663. </member>
  664. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy.Name">
  665. <summary>
  666. Gets the name of this policy.
  667. </summary>
  668. <value>The name of the policy.</value>
  669. </member>
  670. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.AttributeDrivenPolicy.#ctor">
  671. <summary>
  672. Constructs a new instance of the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.AttributeDrivenPolicy"/>.
  673. </summary>
  674. </member>
  675. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.AttributeDrivenPolicy.DoesMatch(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo)">
  676. <summary>
  677. Derived classes implement this method to calculate if the policy
  678. will provide any handler to the specified member.
  679. </summary>
  680. <param name="member">Member to check.</param>
  681. <returns>true if policy applies to this member, false if not.</returns>
  682. </member>
  683. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.AttributeDrivenPolicy.DoGetHandlersFor(Microsoft.Practices.Unity.InterceptionExtension.MethodImplementationInfo,Microsoft.Practices.Unity.IUnityContainer)">
  684. <summary>
  685. Derived classes implement this method to supply the list of handlers for
  686. this specific member.
  687. </summary>
  688. <param name="member">Member to get handlers for.</param>
  689. <param name="container">The <see cref="T:Microsoft.Practices.Unity.IUnityContainer"/> to use when creating handlers,
  690. if necessary.</param>
  691. <returns>Enumerable collection of handlers for this method.</returns>
  692. </member>
  693. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerAttribute">
  694. <summary>
  695. Base class for handler attributes used in the attribute-driven
  696. interception policy.
  697. </summary>
  698. </member>
  699. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.HandlerAttribute.CreateHandler(Microsoft.Practices.Unity.IUnityContainer)">
  700. <summary>
  701. Derived classes implement this method. When called, it
  702. creates a new call handler as specified in the attribute
  703. configuration.
  704. </summary>
  705. <param name="container">The <see cref="T:Microsoft.Practices.Unity.IUnityContainer"/> to use when creating handlers,
  706. if necessary.</param>
  707. <returns>A new call handler object.</returns>
  708. </member>
  709. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.HandlerAttribute.Order">
  710. <summary>
  711. Gets or sets the order in which the handler will be executed.
  712. </summary>
  713. </member>
  714. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline">
  715. <summary>
  716. The HandlerPipeline class encapsulates a list of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ICallHandler"/>s
  717. and manages calling them in the proper order with the right inputs.
  718. </summary>
  719. </member>
  720. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline.#ctor">
  721. <summary>
  722. Creates a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline"/> with an empty pipeline.
  723. </summary>
  724. </member>
  725. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Practices.Unity.InterceptionExtension.ICallHandler})">
  726. <summary>
  727. Creates a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline"/> with the given collection
  728. of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ICallHandler"/>s.
  729. </summary>
  730. <param name="handlers">Collection of handlers to add to the pipeline.</param>
  731. </member>
  732. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline.Invoke(Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation,Microsoft.Practices.Unity.InterceptionExtension.InvokeHandlerDelegate)">
  733. <summary>
  734. Execute the pipeline with the given input.
  735. </summary>
  736. <param name="input">Input to the method call.</param>
  737. <param name="target">The ultimate target of the call.</param>
  738. <returns>Return value from the pipeline.</returns>
  739. </member>
  740. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.HandlerPipeline.Count">
  741. <summary>
  742. Get the number of handlers in this pipeline.
  743. </summary>
  744. </member>
  745. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.ICallHandler">
  746. <summary>
  747. Handlers implement this interface and are called for each
  748. invocation of the pipelines that they're included in.
  749. </summary>
  750. </member>
  751. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.ICallHandler.Invoke(Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation,Microsoft.Practices.Unity.InterceptionExtension.GetNextHandlerDelegate)">
  752. <summary>
  753. Implement this method to execute your handler processing.
  754. </summary>
  755. <param name="input">Inputs to the current call to the target.</param>
  756. <param name="getNext">Delegate to execute to get the next delegate in the handler
  757. chain.</param>
  758. <returns>Return value from the target.</returns>
  759. </member>
  760. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.ICallHandler.Order">
  761. <summary>
  762. Order in which the handler will be executed
  763. </summary>
  764. </member>
  765. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.InvokeHandlerDelegate">
  766. <summary>
  767. This delegate type is the type that points to the next
  768. method to execute in the current pipeline.
  769. </summary>
  770. <param name="input">Inputs to the current method call.</param>
  771. <param name="getNext">Delegate to get the next handler in the chain.</param>
  772. <returns>Return from the next method in the chain.</returns>
  773. </member>
  774. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.GetNextHandlerDelegate">
  775. <summary>
  776. This delegate type is passed to each handler's Invoke method.
  777. Call the delegate to get the next delegate to call to continue
  778. the chain.
  779. </summary>
  780. <returns>Next delegate in the handler chain to call.</returns>
  781. </member>
  782. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule">
  783. <summary>
  784. This interface is implemented by the matching rule classes.
  785. A Matching rule is used to see if a particular policy should
  786. be applied to a class member.
  787. </summary>
  788. </member>
  789. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule.Matches(System.Reflection.MethodBase)">
  790. <summary>
  791. Tests to see if this rule applies to the given member.
  792. </summary>
  793. <param name="member">Member to test.</param>
  794. <returns>true if the rule applies, false if it doesn't.</returns>
  795. </member>
  796. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation">
  797. <summary>
  798. This interface is used to represent the call to a method.
  799. An implementation of IMethodInvocation is passed to the
  800. call handlers so that they may manipulate the call
  801. (typically by changing the parameters) before the final target
  802. gets called.
  803. </summary>
  804. </member>
  805. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation.CreateMethodReturn(System.Object,System.Object[])">
  806. <summary>
  807. Factory method that creates the correct implementation of
  808. IMethodReturn.
  809. </summary>
  810. <param name="returnValue">Return value to be placed in the IMethodReturn object.</param>
  811. <param name="outputs">All arguments passed or returned as out/byref to the method.
  812. Note that this is the entire argument list, including in parameters.</param>
  813. <returns>New IMethodReturn object.</returns>
  814. </member>
  815. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation.CreateExceptionMethodReturn(System.Exception)">
  816. <summary>
  817. Factory method that creates the correct implementation of
  818. IMethodReturn in the presence of an exception.
  819. </summary>
  820. <param name="ex">Exception to be set into the returned object.</param>
  821. <returns>New IMethodReturn object</returns>
  822. </member>
  823. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation.Inputs">
  824. <summary>
  825. Gets the inputs for this call.
  826. </summary>
  827. </member>
  828. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation.Arguments">
  829. <summary>
  830. Collection of all parameters to the call: in, out and byref.
  831. </summary>
  832. </member>
  833. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation.InvocationContext">
  834. <summary>
  835. Retrieves a dictionary that can be used to store arbitrary additional
  836. values. This allows the user to pass values between call handlers.
  837. </summary>
  838. </member>
  839. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation.Target">
  840. <summary>
  841. The object that the call is made on.
  842. </summary>
  843. </member>
  844. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation.MethodBase">
  845. <summary>
  846. The method on Target that we're aiming at.
  847. </summary>
  848. </member>
  849. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.IMethodReturn">
  850. <summary>
  851. This interface is used to represent the return value from a method.
  852. An implementation of IMethodReturn is returned by call handlers, and
  853. each handler can manipulate the parameters, return value, or add an
  854. exception on the way out.
  855. </summary>
  856. </member>
  857. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IMethodReturn.Outputs">
  858. <summary>
  859. The collection of output parameters. If the method has no output
  860. parameters, this is a zero-length list (never null).
  861. </summary>
  862. </member>
  863. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IMethodReturn.ReturnValue">
  864. <summary>
  865. Returns value from the method call.
  866. </summary>
  867. <remarks>This value is null if the method has no return value.</remarks>
  868. </member>
  869. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IMethodReturn.Exception">
  870. <summary>
  871. If the method threw an exception, the exception object is here.
  872. </summary>
  873. </member>
  874. <member name="P:Microsoft.Practices.Unity.InterceptionExtension.IMethodReturn.InvocationContext">
  875. <summary>
  876. Retrieves a dictionary that can be used to store arbitrary additional
  877. values. This allows the user to pass values between call handlers.
  878. </summary>
  879. <remarks>This is guaranteed to be the same dictionary that was used
  880. in the IMethodInvocation object, so handlers can set context
  881. properties in the pre-call phase and retrieve them in the after-call phase.
  882. </remarks>
  883. </member>
  884. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.Interception">
  885. <summary>
  886. A Unity container extension that allows you to configure
  887. whether an object should be intercepted and which mechanism should
  888. be used to do it, and also provides a convenient set of methods for
  889. configuring injection for <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.RuleDrivenPolicy"/> instances.
  890. </summary>
  891. <seealso cref="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetDefaultInterceptorFor(System.Type,Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor)"/>
  892. <seealso cref="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetDefaultInterceptorFor(System.Type,Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor)"/>
  893. <seealso cref="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetInterceptorFor(System.Type,System.String,Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor)"/>
  894. <seealso cref="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetInterceptorFor(System.Type,System.String,Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor)"/>
  895. <seealso cref="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.AddPolicy(System.String)"/>
  896. </member>
  897. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.Initialize">
  898. <summary>
  899. Initial the container with this extension's functionality.
  900. </summary>
  901. </member>
  902. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetInterceptorFor(System.Type,System.String,Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor)">
  903. <summary>
  904. API to configure interception for a type.
  905. </summary>
  906. <param name="typeToIntercept">Type to intercept.</param>
  907. <param name="name">Name type is registered under.</param>
  908. <param name="interceptor">Interceptor to use.</param>
  909. <returns>This extension object.</returns>
  910. </member>
  911. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetInterceptorFor(System.Type,Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor)">
  912. <summary>
  913. API to configure interception for a type.
  914. </summary>
  915. <param name="typeToIntercept">Type to intercept.</param>
  916. <param name="interceptor">Interceptor to use.</param>
  917. <returns>This extension object.</returns>
  918. </member>
  919. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetInterceptorFor``1(System.String,Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor)">
  920. <summary>
  921. API to configure interception for a type.
  922. </summary>
  923. <typeparam name="T">Type to intercept</typeparam>
  924. <param name="name">Name type is registered under.</param>
  925. <param name="interceptor">Interceptor object to use.</param>
  926. <returns>This extension object.</returns>
  927. </member>
  928. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetInterceptorFor``1(Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor)">
  929. <summary>
  930. API to configure interception for a type.
  931. </summary>
  932. <typeparam name="T">Type to intercept</typeparam>
  933. <param name="interceptor">Interceptor object to use.</param>
  934. <returns>This extension object.</returns>
  935. </member>
  936. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetInterceptorFor(System.Type,System.String,Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor)">
  937. <summary>
  938. API to configure interception for a type.
  939. </summary>
  940. <param name="typeToIntercept">Type to intercept.</param>
  941. <param name="name">Name type is registered under.</param>
  942. <param name="interceptor">Instance interceptor to use.</param>
  943. <returns>This extension object.</returns>
  944. </member>
  945. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetDefaultInterceptorFor(System.Type,Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor)">
  946. <summary>
  947. Set the interceptor for a type, regardless of what name is used to resolve the instances.
  948. </summary>
  949. <param name="typeToIntercept">Type to intercept</param>
  950. <param name="interceptor">Interceptor instance.</param>
  951. <returns>This extension object.</returns>
  952. </member>
  953. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetDefaultInterceptorFor``1(Microsoft.Practices.Unity.InterceptionExtension.ITypeInterceptor)">
  954. <summary>
  955. Set the interceptor for a type, regardless of what name is used to resolve the instances.
  956. </summary>
  957. <typeparam name="TTypeToIntercept">Type to intercept</typeparam>
  958. <param name="interceptor">Interceptor instance.</param>
  959. <returns>This extension object.</returns>
  960. </member>
  961. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetInterceptorFor(System.Type,Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor)">
  962. <summary>
  963. API to configure interception for a type.
  964. </summary>
  965. <param name="typeToIntercept">Type to intercept.</param>
  966. <param name="interceptor">Instance interceptor to use.</param>
  967. <returns>This extension object.</returns>
  968. </member>
  969. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetInterceptorFor``1(System.String,Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor)">
  970. <summary>
  971. API to configure interception for a type.
  972. </summary>
  973. <typeparam name="T">Type to intercept.</typeparam>
  974. <param name="name">Name type is registered under.</param>
  975. <param name="interceptor">Instance interceptor to use.</param>
  976. <returns>This extension object.</returns>
  977. </member>
  978. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetInterceptorFor``1(Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor)">
  979. <summary>
  980. API to configure interception for a type.
  981. </summary>
  982. <typeparam name="T">Type to intercept.</typeparam>
  983. <param name="interceptor">Instance interceptor to use.</param>
  984. <returns>This extension object.</returns>
  985. </member>
  986. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetDefaultInterceptorFor(System.Type,Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor)">
  987. <summary>
  988. API to configure the default interception settings for a type.
  989. </summary>
  990. <param name="typeToIntercept">Type the interception is being configured for.</param>
  991. <param name="interceptor">The interceptor to use by default.</param>
  992. <returns>This extension object.</returns>
  993. </member>
  994. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.SetDefaultInterceptorFor``1(Microsoft.Practices.Unity.InterceptionExtension.IInstanceInterceptor)">
  995. <summary>
  996. API to configure the default interception settings for a type.
  997. </summary>
  998. <typeparam name="TTypeToIntercept">Type the interception is being configured for.</typeparam>
  999. <param name="interceptor">The interceptor to use by default.</param>
  1000. <returns>This extension object.</returns>
  1001. </member>
  1002. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.Interception.AddPolicy(System.String)">
  1003. <summary>
  1004. Starts the definition of a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.RuleDrivenPolicy"/>.
  1005. </summary>
  1006. <param name="policyName"></param>
  1007. <returns></returns>
  1008. <remarks>This is a convenient way for defining a new policy and the <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.IMatchingRule"/>
  1009. instances and <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.ICallHandler"/> instances that are required by a policy.
  1010. <para/>
  1011. This mechanism is just a shortcut for what can be natively expressed by wiring up together objects
  1012. with repeated calls to the
  1013. <see cref="M:Microsoft.Practices.Unity.InjectedMembers.ConfigureInjectionFor(System.Type,System.String,Microsoft.Practices.Unity.InjectionMember[])"/> method.
  1014. </remarks>
  1015. </member>
  1016. <member name="T:Microsoft.Practices.Unity.InterceptionExtension.IParameterCollection">
  1017. <summary>
  1018. This interface represents a list of either input or output
  1019. parameters. It implements a fixed size list, plus a couple
  1020. of other utility methods.
  1021. </summary>
  1022. </member>
  1023. <member name="M:Microsoft.Practices.Unity.InterceptionExtension.IParameterCollection.ParameterName(System.Int32)">
  1024. <summary>
  1025. G