PageRenderTime 125ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 2ms

/examples/LinFu.AOP.Samples/lib/LinFu.Core.xml

http://github.com/philiplaureano/LinFu
XML | 8436 lines | 8423 code | 13 blank | 0 comment | 0 complexity | 1cd6dbb55b0150450458ffc2ba0ab17d MD5 | raw file
  1. <?xml version="1.0"?>
  2. <doc>
  3. <assembly>
  4. <name>LinFu.Core</name>
  5. </assembly>
  6. <members>
  7. <member name="T:LinFu.AOP.Cecil.Interfaces.IMethodBodyRewriter">
  8. <summary>
  9. Represents a type that can modify method bodies.
  10. </summary>
  11. </member>
  12. <member name="M:LinFu.AOP.Cecil.Interfaces.IMethodBodyRewriter.Rewrite(Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker,System.Collections.Generic.IEnumerable{Mono.Cecil.Cil.Instruction})">
  13. <summary>
  14. Rewrites a target method using the given CilWorker.
  15. </summary>
  16. <param name="method">The target method.</param>
  17. <param name="IL">The CilWorker that will be used to rewrite the target method.</param>
  18. <param name="oldInstructions">The original instructions from the target method body.</param>
  19. </member>
  20. <member name="T:LinFu.AOP.Cecil.Interfaces.IHostWeaver`1">
  21. <summary>
  22. Represents a weaver class that can modify its host.
  23. </summary>
  24. <typeparam name="THost">The host that holds the item to be modified.</typeparam>
  25. </member>
  26. <member name="M:LinFu.AOP.Cecil.Interfaces.IHostWeaver`1.ImportReferences(Mono.Cecil.ModuleDefinition)">
  27. <summary>
  28. Imports references into the target <see cref="T:Mono.Cecil.ModuleDefinition" /> instance.
  29. </summary>
  30. <param name="module">The module that will hold the modified item.</param>
  31. </member>
  32. <member name="M:LinFu.AOP.Cecil.Interfaces.IHostWeaver`1.AddAdditionalMembers(`0)">
  33. <summary>
  34. Adds additional members to the host type.
  35. </summary>
  36. <param name="host">The host that holds the current item being modified.</param>
  37. </member>
  38. <member name="T:LinFu.AOP.Cecil.Interfaces.IMethodRewriter">
  39. <summary>
  40. Represents a type that can modify method bodies.
  41. </summary>
  42. </member>
  43. <member name="M:LinFu.AOP.Cecil.Interfaces.IMethodRewriter.AddLocals(Mono.Cecil.MethodDefinition)">
  44. <summary>
  45. Adds local variables to the <paramref name="hostMethod" />.
  46. </summary>
  47. <param name="hostMethod">The target method.</param>
  48. </member>
  49. <member name="T:LinFu.AOP.Cecil.BaseMethodRewriter">
  50. <summary>
  51. Represents the basic implementation of a method rewriter class.
  52. </summary>
  53. </member>
  54. <member name="M:LinFu.AOP.Cecil.BaseMethodRewriter.Rewrite(Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker,System.Collections.Generic.IEnumerable{Mono.Cecil.Cil.Instruction})">
  55. <summary>
  56. Rewrites a target method using the given CilWorker.
  57. </summary>
  58. <param name="method">The target method.</param>
  59. <param name="IL">The CilWorker that will be used to rewrite the target method.</param>
  60. <param name="oldInstructions">The original instructions from the target method body.</param>
  61. </member>
  62. <member name="M:LinFu.AOP.Cecil.BaseMethodRewriter.AddAdditionalMembers(Mono.Cecil.TypeDefinition)">
  63. <summary>
  64. Adds additional members to the host type.
  65. </summary>
  66. <param name="host">The host type.</param>
  67. </member>
  68. <member name="M:LinFu.AOP.Cecil.BaseMethodRewriter.ImportReferences(Mono.Cecil.ModuleDefinition)">
  69. <summary>
  70. Adds additional references to the target module.
  71. </summary>
  72. <param name="module">The host module.</param>
  73. </member>
  74. <member name="M:LinFu.AOP.Cecil.BaseMethodRewriter.AddLocals(Mono.Cecil.MethodDefinition)">
  75. <summary>
  76. Adds local variables to the <paramref name="hostMethod" />.
  77. </summary>
  78. <param name="hostMethod">The target method.</param>
  79. </member>
  80. <member name="M:LinFu.AOP.Cecil.BaseMethodRewriter.ShouldRewrite(Mono.Cecil.MethodDefinition)">
  81. <summary>
  82. Determines whether or not the given method should be modified.
  83. </summary>
  84. <param name="targetMethod">The target method.</param>
  85. <returns>A <see cref="T:System.Boolean" /> indicating whether or not a method should be rewritten.</returns>
  86. </member>
  87. <member name="M:LinFu.AOP.Cecil.BaseMethodRewriter.RewriteMethodBody(Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker,System.Collections.Generic.IEnumerable{Mono.Cecil.Cil.Instruction})">
  88. <summary>
  89. Rewrites the instructions in the target method body.
  90. </summary>
  91. <param name="method">The target method.</param>
  92. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> instance that represents the method body.</param>
  93. <param name="oldInstructions">The IL instructions of the original method body.</param>
  94. </member>
  95. <member name="T:LinFu.AOP.Cecil.CatchAllThrownExceptions">
  96. <summary>
  97. Represents a method rewriter that modifies a method body to support dynamic exception handling.
  98. </summary>
  99. </member>
  100. <member name="M:LinFu.AOP.Cecil.CatchAllThrownExceptions.ImportReferences(Mono.Cecil.ModuleDefinition)">
  101. <summary>
  102. Adds additional references to the target module.
  103. </summary>
  104. <param name="module">The host module.</param>
  105. </member>
  106. <member name="M:LinFu.AOP.Cecil.CatchAllThrownExceptions.AddLocals(Mono.Cecil.MethodDefinition)">
  107. <summary>
  108. Adds local variables to the <paramref name="hostMethod" />.
  109. </summary>
  110. <param name="hostMethod">The target method.</param>
  111. </member>
  112. <member name="M:LinFu.AOP.Cecil.CatchAllThrownExceptions.RewriteMethodBody(Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker,System.Collections.Generic.IEnumerable{Mono.Cecil.Cil.Instruction})">
  113. <summary>
  114. Rewrites the instructions in the target method body to support dynamic exception handling.
  115. </summary>
  116. <param name="targetMethod">The target method.</param>
  117. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> instance that represents the method body.</param>
  118. <param name="oldInstructions">The IL instructions of the original method body.</param>
  119. </member>
  120. <member name="M:LinFu.AOP.Cecil.CatchAllThrownExceptions.SaveExceptionInfo(Mono.Cecil.MethodDefinition,LinFu.AOP.Cecil.Interfaces.IEmitInvocationInfo)">
  121. <summary>
  122. Saves the current <see cref="T:LinFu.AOP.Interfaces.IExceptionHandlerInfo" /> instance.
  123. </summary>
  124. <param name="targetMethod">The target method.</param>
  125. <param name="emitter">The <see cref="T:LinFu.AOP.Cecil.Interfaces.IEmitInvocationInfo" /> instance that will emit the current method context.</param>
  126. </member>
  127. <member name="T:LinFu.AOP.Cecil.Interfaces.IInstructionEmitter">
  128. <summary>
  129. Represents a type that is capable of manipulating instructions within a given method body.
  130. </summary>
  131. </member>
  132. <member name="M:LinFu.AOP.Cecil.Interfaces.IInstructionEmitter.Emit(Mono.Cecil.Cil.CilWorker)">
  133. <summary>
  134. Emits a set of instructions to the given <paramref name="IL">CilWorker</paramref>.
  135. </summary>
  136. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> responsible for the target method body.</param>
  137. </member>
  138. <member name="T:LinFu.AOP.Cecil.AddMethodReplacementImplementation">
  139. <summary>
  140. Represents an instruction emitter that adds method body replacement support to a given method body.
  141. </summary>
  142. </member>
  143. <member name="M:LinFu.AOP.Cecil.AddMethodReplacementImplementation.#ctor(LinFu.AOP.Cecil.IMethodBodyRewriterParameters)">
  144. <summary>
  145. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.AddMethodReplacementImplementation" /> class.
  146. </summary>
  147. <param name="parameters">The set of parameters that describe the target method body.</param>
  148. </member>
  149. <member name="M:LinFu.AOP.Cecil.AddMethodReplacementImplementation.Emit(Mono.Cecil.Cil.CilWorker)">
  150. <summary>
  151. Adds method body interception to the target method.
  152. </summary>
  153. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> pointing to the target method body.</param>
  154. </member>
  155. <member name="T:LinFu.AOP.Cecil.AddOriginalInstructions">
  156. <summary>
  157. Represents an instruction emitter that adds the original method instructions to a given method body.
  158. </summary>
  159. </member>
  160. <member name="M:LinFu.AOP.Cecil.AddOriginalInstructions.#ctor(System.Collections.Generic.IEnumerable{Mono.Cecil.Cil.Instruction},Mono.Cecil.Cil.Instruction)">
  161. <summary>
  162. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.AddOriginalInstructions" /> class.
  163. </summary>
  164. <param name="oldInstructions">The original method instructions.</param>
  165. <param name="endLabel">The instruction label that marks the end of the method body.</param>
  166. </member>
  167. <member name="M:LinFu.AOP.Cecil.AddOriginalInstructions.Emit(Mono.Cecil.Cil.CilWorker)">
  168. <summary>
  169. Adds the original instructions to a given method body.
  170. </summary>
  171. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> responsible for the target method body.</param>
  172. </member>
  173. <member name="T:LinFu.AOP.Cecil.AssemblyDefinitionExtensions">
  174. <summary>
  175. A class that extends <see cref="T:Mono.Cecil.AssemblyDefinition" /> instances.
  176. </summary>
  177. </member>
  178. <member name="M:LinFu.AOP.Cecil.AssemblyDefinitionExtensions.RemoveStrongName(Mono.Cecil.AssemblyDefinition)">
  179. <summary>
  180. Removes the strong-name signature from the <paramref name="sourceAssembly" />.
  181. </summary>
  182. <param name="sourceAssembly">
  183. </param>
  184. </member>
  185. <member name="T:LinFu.AOP.Cecil.Extensions.CecilVisitorExtensions">
  186. <summary>
  187. A helper class that extends Cecil to support LinFu's weaver model.
  188. </summary>
  189. </member>
  190. <member name="M:LinFu.AOP.Cecil.Extensions.CecilVisitorExtensions.Accept(Mono.Cecil.IReflectionVisitable,LinFu.AOP.Cecil.Interfaces.ITypeWeaver)">
  191. <summary>
  192. Allows a <see cref="T:LinFu.AOP.Cecil.Interfaces.ITypeWeaver" /> instance to traverse any <see cref="T:Mono.Cecil.IReflectionVisitable" />
  193. instance.
  194. </summary>
  195. <param name="visitable">The visitable object.</param>
  196. <param name="typeWeaver">The type weaver.</param>
  197. </member>
  198. <member name="M:LinFu.AOP.Cecil.Extensions.CecilVisitorExtensions.Accept(Mono.Cecil.IReflectionStructureVisitable,LinFu.AOP.Cecil.Interfaces.ITypeWeaver)">
  199. <summary>
  200. Allows a <see cref="T:LinFu.AOP.Cecil.Interfaces.ITypeWeaver" /> instance to traverse any <see cref="T:Mono.Cecil.IReflectionStructureVisitable" />
  201. instance.
  202. </summary>
  203. <param name="visitable">The visitable object.</param>
  204. <param name="typeWeaver">The type weaver.</param>
  205. </member>
  206. <member name="M:LinFu.AOP.Cecil.Extensions.CecilVisitorExtensions.Accept(Mono.Cecil.IReflectionStructureVisitable,LinFu.AOP.Cecil.Interfaces.IMethodWeaver)">
  207. <summary>
  208. Allows a <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodWeaver" /> instance to traverse any <see cref="T:Mono.Cecil.IReflectionVisitable" />
  209. instance.
  210. </summary>
  211. <param name="visitable">The visitable object.</param>
  212. <param name="methodWeaver">The method weaver.</param>
  213. </member>
  214. <member name="M:LinFu.AOP.Cecil.Extensions.CecilVisitorExtensions.Accept(Mono.Cecil.IReflectionVisitable,LinFu.AOP.Cecil.Interfaces.IMethodWeaver)">
  215. <summary>
  216. Allows a <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodWeaver" /> instance to traverse any <see cref="T:Mono.Cecil.IReflectionVisitable" />
  217. instance.
  218. </summary>
  219. <param name="visitable">The visitable object.</param>
  220. <param name="methodWeaver">The method weaver.</param>
  221. </member>
  222. <member name="T:LinFu.AOP.Cecil.EmitAfterInvoke">
  223. <summary>
  224. Represents a type that emits the call to the <see cref="T:LinFu.AOP.Interfaces.IAfterInvoke" /> instance.
  225. </summary>
  226. </member>
  227. <member name="M:LinFu.AOP.Cecil.EmitAfterInvoke.#ctor(Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition)">
  228. <summary>
  229. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.EmitAfterInvoke" /> class.
  230. </summary>
  231. <param name="surroundingImplementation">The variable that contains the <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.</param>
  232. <param name="surroundingClassImplementation">The variable that contains the class-level <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.</param>
  233. <param name="invocationInfo">The variable that contains the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
  234. <param name="returnValue">The local vaiable that contains the return value of the target method.</param>
  235. </member>
  236. <member name="M:LinFu.AOP.Cecil.EmitAfterInvoke.Emit(Mono.Cecil.Cil.CilWorker)">
  237. <summary>
  238. Emits the call to the <see cref="T:LinFu.AOP.Interfaces.IAfterInvoke" /> instance.
  239. </summary>
  240. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that points to the current method body.</param>
  241. </member>
  242. <member name="T:LinFu.AOP.Cecil.EmitBeforeInvoke">
  243. <summary>
  244. Represents a type that emits the call to the <see cref="T:LinFu.AOP.Interfaces.IBeforeInvoke" /> instance.
  245. </summary>
  246. </member>
  247. <member name="M:LinFu.AOP.Cecil.EmitBeforeInvoke.#ctor(Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,System.Type)">
  248. <summary>
  249. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.EmitBeforeInvoke" /> class.
  250. </summary>
  251. <param name="invocationInfo">The variable that contains the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
  252. <param name="surroundingClassImplementation">The variable that contains the class-level <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.</param>
  253. <param name="surroundingImplementation">The variable that contains the instance-level <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.</param>
  254. <param name="registryType">The interception registry type that will be responsible for handling class-level interception events.</param>
  255. </member>
  256. <member name="M:LinFu.AOP.Cecil.EmitBeforeInvoke.Emit(Mono.Cecil.Cil.CilWorker)">
  257. <summary>
  258. Emits the call to the <see cref="T:LinFu.AOP.Interfaces.IAfterInvoke" /> instance.
  259. </summary>
  260. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that points to the current method body.</param>
  261. </member>
  262. <member name="T:LinFu.AOP.Cecil.ExceptionHandlerInfo">
  263. <summary>
  264. Represents a class that describes the context of a thrown exception.
  265. </summary>
  266. </member>
  267. <member name="M:LinFu.AOP.Cecil.ExceptionHandlerInfo.#ctor(System.Exception,LinFu.AOP.Interfaces.IInvocationInfo)">
  268. <summary>
  269. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.ExceptionHandlerInfo" /> class.
  270. </summary>
  271. <param name="ex">The thrown exception.</param>
  272. <param name="invocationInfo">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the context of the method call.</param>
  273. </member>
  274. <member name="P:LinFu.AOP.Cecil.ExceptionHandlerInfo.Exception">
  275. <summary>
  276. Gets the value indicating the thrown exception.
  277. </summary>
  278. <value>The thrown exception.</value>
  279. </member>
  280. <member name="P:LinFu.AOP.Cecil.ExceptionHandlerInfo.InvocationInfo">
  281. <summary>
  282. Gets the value indicating the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the context of the method
  283. that threw the exception.
  284. </summary>
  285. <value>The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</value>
  286. </member>
  287. <member name="P:LinFu.AOP.Cecil.ExceptionHandlerInfo.ReturnValue">
  288. <summary>
  289. Gets or sets the value indicating the return value that will be used in place of the original return value if
  290. the exception is intercepted by an <see cref="T:LinFu.AOP.Interfaces.IExceptionHandler" /> instance.
  291. </summary>
  292. <value>The method return value.</value>
  293. </member>
  294. <member name="P:LinFu.AOP.Cecil.ExceptionHandlerInfo.ShouldSkipRethrow">
  295. <summary>
  296. Gets or sets the value indicating whether or not the exception should be rethrown after
  297. the <see cref="T:LinFu.AOP.Interfaces.IExceptionHandler" /> handles the given exception.
  298. </summary>
  299. <value>This should be <c>true</c> if the exception should be rethrown, otherwise, it must be <c>false</c>.</value>
  300. </member>
  301. <member name="T:LinFu.AOP.Cecil.Extensions.ExceptionHandlerInterceptionExtensions">
  302. <summary>
  303. Represents an extension class that adds support for intercepting exceptions thrown at runtime.
  304. </summary>
  305. </member>
  306. <member name="M:LinFu.AOP.Cecil.Extensions.ExceptionHandlerInterceptionExtensions.InterceptAllExceptions(Mono.Cecil.IReflectionVisitable)">
  307. <summary>
  308. Enables exception interception on the given type.
  309. </summary>
  310. <param name="visitable">The target type.</param>
  311. </member>
  312. <member name="M:LinFu.AOP.Cecil.Extensions.ExceptionHandlerInterceptionExtensions.InterceptAllExceptions(Mono.Cecil.IReflectionStructureVisitable)">
  313. <summary>
  314. Enables exception interception on the given type.
  315. </summary>
  316. <param name="visitable">The target type.</param>
  317. </member>
  318. <member name="M:LinFu.AOP.Cecil.Extensions.ExceptionHandlerInterceptionExtensions.InterceptExceptions(Mono.Cecil.IReflectionVisitable,LinFu.AOP.Cecil.Interfaces.IMethodFilter)">
  319. <summary>
  320. Enables exception interception on the given type.
  321. </summary>
  322. <param name="visitable">The target type.</param>
  323. <param name="methodFilter">The <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodFilter" /> instance that will determine which methods should support exception interception.</param>
  324. </member>
  325. <member name="M:LinFu.AOP.Cecil.Extensions.ExceptionHandlerInterceptionExtensions.InterceptExceptions(Mono.Cecil.IReflectionStructureVisitable,LinFu.AOP.Cecil.Interfaces.IMethodFilter)">
  326. <summary>
  327. Enables exception interception on the given type.
  328. </summary>
  329. <param name="visitable">The target type.</param>
  330. <param name="methodFilter">The <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodFilter" /> instance that will determine which methods should support exception interception.</param>
  331. </member>
  332. <member name="M:LinFu.AOP.Cecil.Extensions.ExceptionHandlerInterceptionExtensions.InterceptExceptions(Mono.Cecil.IReflectionStructureVisitable,System.Func{Mono.Cecil.MethodReference,System.Boolean})">
  333. <summary>
  334. Enables exception interception on the given type.
  335. </summary>
  336. <param name="visitable">The target type.</param>
  337. <param name="methodFilter">The method filter functor that will determine which methods should support exception interception.</param>
  338. </member>
  339. <member name="M:LinFu.AOP.Cecil.Extensions.ExceptionHandlerInterceptionExtensions.InterceptExceptions(Mono.Cecil.IReflectionVisitable,System.Func{Mono.Cecil.MethodReference,System.Boolean})">
  340. <summary>
  341. Enables exception interception on the given type.
  342. </summary>
  343. <param name="visitable">The target type.</param>
  344. <param name="methodFilter">The method filter functor that will determine which methods should support exception interception.</param>
  345. </member>
  346. <member name="T:LinFu.AOP.Cecil.Factories.AddInvocationInfoActionFactory">
  347. <summary>
  348. A factory instance that creates <see cref="T:System.Action`1" /> delegates
  349. that emit the necessary <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> information
  350. and store it in a local variable named '__invocationInfo___'.
  351. </summary>
  352. </member>
  353. <member name="M:LinFu.AOP.Cecil.Factories.AddInvocationInfoActionFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  354. <summary>
  355. Generates the <see cref="T:System.Action`1" /> delegate that will emit
  356. the necessary <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> information.
  357. </summary>
  358. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service type.</param>
  359. <returns>A delegate that can emit the necessary <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> context that will allow other developers to infer information about the method currently being executed.</returns>
  360. </member>
  361. <member name="T:LinFu.AOP.Cecil.Factories.AssemblyWeaverActionFactory">
  362. <summary>
  363. Represents a class that generates <see cref="T:System.Action`2" /> instances
  364. that apply a specific method weaver (with the name given in the first delegate parameter)
  365. to every type in every module of an <see cref="T:Mono.Cecil.AssemblyDefinition" /> instance.
  366. </summary>
  367. </member>
  368. <member name="M:LinFu.AOP.Cecil.Factories.AssemblyWeaverActionFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  369. <summary>
  370. Generates <see cref="T:System.Action`2" /> instances
  371. that apply a specific method weaver (with the name given in the first delegate parameter)
  372. to every type in every module of an <see cref="T:Mono.Cecil.AssemblyDefinition" /> instance.
  373. </summary>
  374. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> that describes the service request.</param>
  375. <returns>An action delegate that will apply a specific method weaver to all the types in the given assembly.</returns>
  376. </member>
  377. <member name="T:LinFu.AOP.Cecil.Factories.TypeWeaverActionFactory">
  378. <summary>
  379. Represents a class that generates <see cref="T:System.Action`2" /> instances
  380. that apply a specific method weaver (with the name given in the first delegate parameter)
  381. to a specific <see cref="T:Mono.Cecil.TypeDefinition" /> instance.
  382. </summary>
  383. </member>
  384. <member name="M:LinFu.AOP.Cecil.Factories.TypeWeaverActionFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  385. <summary>
  386. Generates the <see cref="T:System.Action`2" /> instance that will
  387. weave the target type.
  388. </summary>
  389. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> that describes the service request.</param>
  390. <returns>The <see cref="T:System.Action`2" /> instance that will weave the target type.</returns>
  391. </member>
  392. <member name="T:LinFu.AOP.Cecil.GetMethodReplacementProvider">
  393. <summary>
  394. Represents a class that emits the instructions that obtain an instance-level <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.
  395. </summary>
  396. </member>
  397. <member name="M:LinFu.AOP.Cecil.GetMethodReplacementProvider.#ctor(Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.MethodDefinition,System.Func{Mono.Cecil.ModuleDefinition,Mono.Cecil.MethodReference})">
  398. <summary>
  399. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.GetMethodReplacementProvider" /> class.
  400. </summary>
  401. <param name="methodReplacementProvider">The local variable that contains the <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.</param>
  402. <param name="hostMethod">The target method.</param>
  403. <param name="resolveGetProviderMethod">The functor that will resolve the GetProvider method.</param>
  404. </member>
  405. <member name="M:LinFu.AOP.Cecil.GetMethodReplacementProvider.Emit(Mono.Cecil.Cil.CilWorker)">
  406. <summary>
  407. Emits the instructions that obtain the <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.
  408. </summary>
  409. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> instance.</param>
  410. </member>
  411. <member name="T:LinFu.AOP.Cecil.GetSurroundingClassImplementation">
  412. <summary>
  413. Represents a class that emits the instructions that obtain the <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.
  414. </summary>
  415. </member>
  416. <member name="M:LinFu.AOP.Cecil.GetSurroundingClassImplementation.#ctor(Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,System.Reflection.MethodInfo)">
  417. <summary>
  418. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.GetSurroundingClassImplementation" /> class.
  419. </summary>
  420. <param name="invocationInfo">The variable that contains the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
  421. <param name="surroundingClassImplementation">The variable that contains the <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.</param>
  422. <param name="getSurroundingImplementationMethod">The method that will obtain the <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.</param>
  423. </member>
  424. <member name="M:LinFu.AOP.Cecil.GetSurroundingClassImplementation.Emit(Mono.Cecil.Cil.CilWorker)">
  425. <summary>
  426. Emits the instructions that obtain the <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.
  427. </summary>
  428. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that points to the current method body.</param>
  429. </member>
  430. <member name="T:LinFu.AOP.Cecil.GetSurroundingImplementationInstance">
  431. <summary>
  432. Represents a class that emits the instructions that obtain the current <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.
  433. </summary>
  434. </member>
  435. <member name="M:LinFu.AOP.Cecil.GetSurroundingImplementationInstance.#ctor(Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.Instruction)">
  436. <summary>
  437. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.GetSurroundingImplementationInstance" /> class.
  438. </summary>
  439. <param name="aroundInvokeProvider">The variable that will hold the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance.</param>
  440. <param name="invocationInfo">
  441. </param>
  442. <param name="surroundingImplementation">
  443. </param>
  444. <param name="skipGetSurroundingImplementation">
  445. </param>
  446. </member>
  447. <member name="M:LinFu.AOP.Cecil.GetSurroundingImplementationInstance.Emit(Mono.Cecil.Cil.CilWorker)">
  448. <summary>
  449. Emits the instructions that obtain the current <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.
  450. </summary>
  451. <param name="IL">
  452. </param>
  453. </member>
  454. <member name="T:LinFu.AOP.Cecil.GetAroundInvokeProvider">
  455. <summary>
  456. Represents a class that emits the call to obtain the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance.
  457. </summary>
  458. </member>
  459. <member name="M:LinFu.AOP.Cecil.GetAroundInvokeProvider.#ctor(Mono.Cecil.Cil.VariableDefinition,System.String)">
  460. <summary>
  461. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.GetAroundInvokeProvider" /> class.
  462. </summary>
  463. <param name="aroundInvokeProvider">The local variable that holds the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance.</param>
  464. <param name="providerName">The name of the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> property.</param>
  465. </member>
  466. <member name="M:LinFu.AOP.Cecil.GetAroundInvokeProvider.Emit(Mono.Cecil.Cil.CilWorker)">
  467. <summary>
  468. Emits the call to obtain the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance.
  469. </summary>
  470. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> pointing to the target method body.</param>
  471. </member>
  472. <member name="T:LinFu.AOP.Cecil.GetInterceptionDisabled">
  473. <summary>
  474. Represents a class that emits the instructions that determine whether or not method interception is disabled.
  475. </summary>
  476. </member>
  477. <member name="M:LinFu.AOP.Cecil.GetInterceptionDisabled.#ctor(LinFu.AOP.Cecil.IMethodBodyRewriterParameters)">
  478. <summary>
  479. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.GetInterceptionDisabled" /> class.
  480. </summary>
  481. <param name="parameters">The <see cref="T:LinFu.AOP.Cecil.IMethodBodyRewriterParameters" /> instance.</param>
  482. </member>
  483. <member name="M:LinFu.AOP.Cecil.GetInterceptionDisabled.#ctor(Mono.Cecil.MethodReference,Mono.Cecil.Cil.VariableDefinition)">
  484. <summary>
  485. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.GetInterceptionDisabled" /> class.
  486. </summary>
  487. <param name="hostMethod">The target method.</param>
  488. <param name="interceptionDisabled">The local variable that determines whether or not method interception is disabled.</param>
  489. </member>
  490. <member name="M:LinFu.AOP.Cecil.GetInterceptionDisabled.Emit(Mono.Cecil.Cil.CilWorker)">
  491. <summary>
  492. Emits the instructions that determine whether or not method interception is disabled.
  493. </summary>
  494. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> instance responsible for adding or removing instructions to the method body.</param>
  495. </member>
  496. <member name="T:LinFu.AOP.Cecil.GetClassMethodReplacementProvider">
  497. <summary>
  498. Represents a class that emits the instructions that obtain a class-level <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.
  499. </summary>
  500. </member>
  501. <member name="M:LinFu.AOP.Cecil.GetClassMethodReplacementProvider.#ctor(LinFu.AOP.Cecil.IMethodBodyRewriterParameters,System.Func{Mono.Cecil.ModuleDefinition,Mono.Cecil.MethodReference})">
  502. <summary>
  503. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.GetClassMethodReplacementProvider" /> class.
  504. </summary>
  505. <param name="parameters">The method body rewriter paramters that describe the </param>
  506. <param name="resolveGetProviderMethod">The functor that resolves the method that obtains the method replacement provider instance.</param>
  507. </member>
  508. <member name="M:LinFu.AOP.Cecil.GetClassMethodReplacementProvider.#ctor(Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,System.Func{Mono.Cecil.ModuleDefinition,Mono.Cecil.MethodReference})">
  509. <summary>
  510. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.GetClassMethodReplacementProvider" /> class.
  511. </summary>
  512. <param name="invocationInfo">The variable that contains the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
  513. <param name="classMethodReplacementProvider">The variable that contains the class method replacement provider instance.</param>
  514. <param name="resolveGetProviderMethod">The functor that resolves the method that obtains the method replacement provider instance.</param>
  515. </member>
  516. <member name="M:LinFu.AOP.Cecil.GetClassMethodReplacementProvider.Emit(Mono.Cecil.Cil.CilWorker)">
  517. <summary>
  518. Emits the instructions that obtain a class-level <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.
  519. </summary>
  520. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> instance that points to the instructions in the method body.</param>
  521. </member>
  522. <member name="T:LinFu.AOP.Cecil.Extensions.FieldInterceptionExtensions">
  523. <summary>
  524. Represents an extension class that adds field interception support to a given type.
  525. </summary>
  526. </member>
  527. <member name="M:LinFu.AOP.Cecil.Extensions.FieldInterceptionExtensions.InterceptAllFields(Mono.Cecil.IReflectionStructureVisitable)">
  528. <summary>
  529. Adds field interception support to the target type.
  530. </summary>
  531. <param name="targetType">The type that will be modified.</param>
  532. </member>
  533. <member name="M:LinFu.AOP.Cecil.Extensions.FieldInterceptionExtensions.InterceptAllInstanceFields(Mono.Cecil.IReflectionStructureVisitable)">
  534. <summary>
  535. Adds field interception support intercepting all instance fields on the target type.
  536. </summary>
  537. <param name="targetType">The type that will be modified.</param>
  538. </member>
  539. <member name="M:LinFu.AOP.Cecil.Extensions.FieldInterceptionExtensions.InterceptAllStaticFields(Mono.Cecil.IReflectionStructureVisitable)">
  540. <summary>
  541. Adds field interception support intercepting all static fields on the target type.
  542. </summary>
  543. <param name="targetType">The type that will be modified.</param>
  544. </member>
  545. <member name="M:LinFu.AOP.Cecil.Extensions.FieldInterceptionExtensions.InterceptAllFields(Mono.Cecil.IReflectionVisitable)">
  546. <summary>
  547. Adds field interception support to the target type.
  548. </summary>
  549. <param name="targetType">The type that will be modified.</param>
  550. </member>
  551. <member name="M:LinFu.AOP.Cecil.Extensions.FieldInterceptionExtensions.InterceptAllInstanceFields(Mono.Cecil.IReflectionVisitable)">
  552. <summary>
  553. Adds field interception support intercepting all instance fields on the target type.
  554. </summary>
  555. <param name="targetType">The type that will be modified.</param>
  556. </member>
  557. <member name="M:LinFu.AOP.Cecil.Extensions.FieldInterceptionExtensions.InterceptAllStaticFields(Mono.Cecil.IReflectionVisitable)">
  558. <summary>
  559. Adds field interception support intercepting all static fields on the target type.
  560. </summary>
  561. <param name="targetType">The type that will be modified.</param>
  562. </member>
  563. <member name="M:LinFu.AOP.Cecil.Extensions.FieldInterceptionExtensions.InterceptFields(Mono.Cecil.IReflectionVisitable,System.Func{Mono.Cecil.MethodReference,System.Boolean},System.Func{Mono.Cecil.FieldReference,System.Boolean})">
  564. <summary>
  565. Adds field interception support to the target type.
  566. </summary>
  567. <param name="targetType">The type that will be modified.</param>
  568. <param name="methodFilter">The filter that determines which methods on the target type will be modified to support field interception.</param>
  569. <param name="fieldFilter">The filter that determines which fields should be intercepted.</param>
  570. </member>
  571. <member name="M:LinFu.AOP.Cecil.Extensions.FieldInterceptionExtensions.InterceptFields(Mono.Cecil.IReflectionStructureVisitable,LinFu.AOP.Cecil.ITypeFilter,LinFu.AOP.Cecil.Interfaces.IFieldFilter)">
  572. <summary>
  573. Adds field interception support to the target type.
  574. </summary>
  575. <param name="targetType">The type that will be modified.</param>
  576. <param name="hostTypeFilter">The filter that determines the host types to be modified.</param>
  577. <param name="fieldFilter">The field filter that determines the fields that will be intercepted.</param>
  578. </member>
  579. <member name="M:LinFu.AOP.Cecil.Extensions.FieldInterceptionExtensions.InterceptFields(Mono.Cecil.IReflectionStructureVisitable,System.Func{Mono.Cecil.MethodReference,System.Boolean},System.Func{Mono.Cecil.FieldReference,System.Boolean})">
  580. <summary>
  581. Adds field interception support to the target type.
  582. </summary>
  583. <param name="targetType">The type that will be modified.</param>
  584. <param name="methodFilter">The filter that determines which methods on the target type will be modified to support field interception.</param>
  585. <param name="fieldFilter">The filter that determines which fields should be intercepted.</param>
  586. </member>
  587. <member name="T:LinFu.AOP.Cecil.Interfaces.IFieldFilter">
  588. <summary>
  589. Represents a type that determines whether or not a particular field get or set should be intercepted.
  590. </summary>
  591. </member>
  592. <member name="M:LinFu.AOP.Cecil.Interfaces.IFieldFilter.ShouldWeave(Mono.Cecil.MethodReference,Mono.Cecil.FieldReference)">
  593. <summary>
  594. Determines whether or not a particular field get or set should be intercepted.
  595. </summary>
  596. <param name="hostMethod">The host method.</param>
  597. <param name="targetField">The target field.</param>
  598. <returns>Returns <c>true</c> if the field should be intercepted; otherwise, it will return <c>false</c>.</returns>
  599. </member>
  600. <member name="T:LinFu.AOP.Cecil.FieldFilterAdapter">
  601. <summary>
  602. Represents an adapter class that maps a functor to an <see cref="T:LinFu.AOP.Cecil.Interfaces.IFieldFilter" /> instance.
  603. </summary>
  604. </member>
  605. <member name="M:LinFu.AOP.Cecil.FieldFilterAdapter.#ctor(System.Func{Mono.Cecil.FieldReference,System.Boolean})">
  606. <summary>
  607. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.FieldFilterAdapter" /> class.
  608. </summary>
  609. <param name="filter">The field filter.</param>
  610. </member>
  611. <member name="M:LinFu.AOP.Cecil.FieldFilterAdapter.ShouldWeave(Mono.Cecil.MethodReference,Mono.Cecil.FieldReference)">
  612. <summary>
  613. Determines whether or not a particular field get or set should be intercepted.
  614. </summary>
  615. <param name="hostMethod">The host method.</param>
  616. <param name="targetField">The target field.</param>
  617. <returns>Returns <c>true</c> if the field should be intercepted; otherwise, it will return <c>false</c>.</returns>
  618. </member>
  619. <member name="T:LinFu.AOP.Cecil.IgnoredInstancesRegistry">
  620. <summary>
  621. Represents a class that keeps track of the internal object instances that should be ignored
  622. by the interception routines.
  623. </summary>
  624. </member>
  625. <member name="M:LinFu.AOP.Cecil.IgnoredInstancesRegistry.Contains(System.Object)">
  626. <summary>
  627. Determines whether or not the registry contains the given ignored object.
  628. </summary>
  629. <param name="target">The target object.</param>
  630. <returns>Returns <c>true</c> if the object should be ignored; otherwise, it will return <c>false</c>.</returns>
  631. </member>
  632. <member name="M:LinFu.AOP.Cecil.IgnoredInstancesRegistry.AddInstance(System.Object)">
  633. <summary>
  634. Adds an instance to the list of ignored instances.
  635. </summary>
  636. <param name="target">The target instance to be ignored by the interception routines.</param>
  637. </member>
  638. <member name="T:LinFu.AOP.Cecil.Interfaces.IMethodFilter">
  639. <summary>
  640. Represents a type that determines which host methods should be modified for method call interception.
  641. </summary>
  642. </member>
  643. <member name="M:LinFu.AOP.Cecil.Interfaces.IMethodFilter.ShouldWeave(Mono.Cecil.MethodReference)">
  644. <summary>
  645. Determines whether or not a particular method should be modified.
  646. </summary>
  647. <param name="targetMethod">The target method to be modified.</param>
  648. <returns>Returns <c>true</c> if the method should be modified; otherwise, it will return <c>false</c>.</returns>
  649. </member>
  650. <member name="T:LinFu.AOP.Cecil.Interfaces.IMethodCallFilter">
  651. <summary>
  652. Represents a type that determines the method calls that need to be intercepted.
  653. </summary>
  654. </member>
  655. <member name="M:LinFu.AOP.Cecil.Interfaces.IMethodCallFilter.ShouldWeave(Mono.Cecil.TypeReference,Mono.Cecil.MethodReference,Mono.Cecil.MethodReference)">
  656. <summary>
  657. Determines whether or not a particular method call should be intercepted.
  658. </summary>
  659. <param name="targetType">The host type that contains the method call.</param>
  660. <param name="hostMethod">The method that contains the current method call.</param>
  661. <param name="currentMethodCall">The method call to be intercepted.</param>
  662. <returns>Returns <c>true</c> if the method call should be intercepted; otherwise, it will return <c>false</c>.</returns>
  663. </member>
  664. <member name="T:LinFu.AOP.Cecil.IMethodBodyRewriterParameters">
  665. <summary>
  666. Represents the parameters used to add interception to a given method body.
  667. </summary>
  668. </member>
  669. <member name="P:LinFu.AOP.Cecil.IMethodBodyRewriterParameters.TargetMethod">
  670. <summary>
  671. Gets the value indicating the TargetMethod to be modified.
  672. </summary>
  673. <value>The method to be modified.</value>
  674. </member>
  675. <member name="P:LinFu.AOP.Cecil.IMethodBodyRewriterParameters.AroundInvokeProvider">
  676. <summary>
  677. Gets the value indicating the local variable used to store the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance.
  678. </summary>
  679. <value>The <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance.</value>
  680. </member>
  681. <member name="P:LinFu.AOP.Cecil.IMethodBodyRewriterParameters.MethodReplacementProvider">
  682. <summary>
  683. Gets the value indicating the local variable used to store the <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.
  684. </summary>
  685. <value>The <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.</value>
  686. </member>
  687. <member name="P:LinFu.AOP.Cecil.IMethodBodyRewriterParameters.ClassMethodReplacementProvider">
  688. <summary>
  689. Gets the value indicating the class-level<see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.
  690. </summary>
  691. <value>The class-level<see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.</value>
  692. </member>
  693. <member name="P:LinFu.AOP.Cecil.IMethodBodyRewriterParameters.InterceptionDisabled">
  694. <summary>
  695. Gets the value indicating the local variable that will store the value that determines whether or not
  696. interception is disabled.
  697. </summary>
  698. <value>The value that determines whether or not interception is disabled.</value>
  699. </member>
  700. <member name="P:LinFu.AOP.Cecil.IMethodBodyRewriterParameters.InvocationInfo">
  701. <summary>
  702. Gets the value indicating the local variable that will store the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.
  703. </summary>
  704. <value>The local variable that will store the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</value>
  705. </member>
  706. <member name="P:LinFu.AOP.Cecil.IMethodBodyRewriterParameters.ReturnValue">
  707. <summary>
  708. Gets the value indicating the local variable that will store the return value.
  709. </summary>
  710. <value>The value indicating the local variable that will store the return value.</value>
  711. </member>
  712. <member name="P:LinFu.AOP.Cecil.IMethodBodyRewriterParameters.RegistryType">
  713. <summary>
  714. Gets the value indicating the interception registry type that will be responsible for handling class-level interception events.
  715. </summary>
  716. <value>The interception registry type that will be responsible for handling class-level interception events.</value>
  717. </member>
  718. <member name="P:LinFu.AOP.Cecil.IMethodBodyRewriterParameters.GetMethodReplacementProviderMethod">
  719. <summary>
  720. Gets the value indicating the functor that resolves the GetMethodReplacementProvider method.
  721. </summary>
  722. <value>The functor that resolves the GetMethodReplacementProvider method.</value>
  723. </member>
  724. <member name="P:LinFu.AOP.Cecil.IMethodBodyRewriterParameters.OldInstructions">
  725. <summary>
  726. Gets the value indicating the list of old instructions in the current method body.
  727. </summary>
  728. <value>The value indicating the list of old instructions in the current method body.</value>
  729. </member>
  730. <member name="T:LinFu.AOP.Cecil.Interfaces.INewInstanceFilter">
  731. <summary>
  732. Represents a type that determines the constructor calls that will be intercepted by the postweaver.
  733. </summary>
  734. </member>
  735. <member name="M:LinFu.AOP.Cecil.Interfaces.INewInstanceFilter.ShouldWeave(Mono.Cecil.MethodReference,Mono.Cecil.TypeReference,Mono.Cecil.MethodReference)">
  736. <summary>
  737. Determines whether or not a particular constructor call should be intercepted by the postweaver.
  738. </summary>
  739. <param name="currentConstructor">The constructor used to instantiate the current instance.</param>
  740. <param name="concreteType">The concrete type that contains the new instance call.</param>
  741. <param name="hostMethod">The host method that contains the new operator call.</param>
  742. <returns>Returns <c>true</c> if the new operator call should be intercepted; otherwise, it should return <c>false</c>.</returns>
  743. </member>
  744. <member name="T:LinFu.AOP.Cecil.MethodCallFilterAdapter">
  745. <summary>
  746. Represents a type that converts functors into method call filter instances.
  747. </summary>
  748. </member>
  749. <member name="M:LinFu.AOP.Cecil.MethodCallFilterAdapter.#ctor(System.Func{Mono.Cecil.MethodReference,System.Boolean},System.Func{Mono.Cecil.MethodReference,System.Boolean})">
  750. <summary>
  751. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.MethodCallFilterAdapter" /> class.
  752. </summary>
  753. <param name="hostMethodFilter">The method filter that will determine the host methods that will be modified for interception.</param>
  754. <param name="methodCallFilter">The method filter that will determine which method calls will be intercepted.</param>
  755. </member>
  756. <member name="M:LinFu.AOP.Cecil.MethodCallFilterAdapter.ShouldWeave(Mono.Cecil.TypeReference,Mono.Cecil.MethodReference,Mono.Cecil.MethodReference)">
  757. <summary>
  758. Determines whether or not a particular method call should be intercepted.
  759. </summary>
  760. <param name="targetType">The host type that contains the method call.</param>
  761. <param name="hostMethod">The method that contains the current method call.</param>
  762. <param name="currentMethodCall">The method call to be intercepted.</param>
  763. <returns>Returns <c>true</c> if the method call should be intercepted; otherwise, it will return <c>false</c>.</returns>
  764. </member>
  765. <member name="T:LinFu.AOP.Cecil.NewInstanceInterceptionAdapter">
  766. <summary>
  767. Represents an adapter class that maps <see cref="T:LinFu.AOP.Cecil.Interfaces.INewInstanceFilter" /> instances to
  768. functors.
  769. </summary>
  770. </member>
  771. <member name="M:LinFu.AOP.Cecil.NewInstanceInterceptionAdapter.#ctor(System.Func{Mono.Cecil.MethodReference,Mono.Cecil.TypeReference,Mono.Cecil.MethodReference,System.Boolean})">
  772. <summary>
  773. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.NewInstanceInterceptionAdapter" /> class.
  774. </summary>
  775. <param name="filter">The filter that determines which instances will be intercepted.</param>
  776. </member>
  777. <member name="M:LinFu.AOP.Cecil.NewInstanceInterceptionAdapter.ShouldWeave(Mono.Cecil.MethodReference,Mono.Cecil.TypeReference,Mono.Cecil.MethodReference)">
  778. <summary>
  779. Determines whether or not a particular constructor call should be intercepted by the postweaver.
  780. </summary>
  781. <param name="currentConstructor">The constructor used to instantiate the current instance.</param>
  782. <param name="concreteType">The concrete type that contains the new instance call.</param>
  783. <param name="hostMethod">The host method that contains the new operator call.</param>
  784. <returns>Returns <c>true</c> if the new operator call should be intercepted; otherwise, it should return <c>false</c>.</returns>
  785. </member>
  786. <member name="T:LinFu.AOP.Cecil.Interfaces.IWeaver`2">
  787. <summary>
  788. Represents a class that can weave (or modify)
  789. a member embedded in an assembly.
  790. </summary>
  791. <typeparam name="T">The type of object to modify.</typeparam>
  792. <typeparam name="THost">The host that holds the item to be modified.</typeparam>
  793. </member>
  794. <member name="M:LinFu.AOP.Cecil.Interfaces.IWeaver`2.ShouldWeave(`0)">
  795. <summary>
  796. Determines whether or not the current item should be modified.
  797. </summary>
  798. <param name="item">The target item.</param>
  799. <returns>Returns <c>true</c> if the current item can be modified; otherwise, it should return <c>false.</c></returns>
  800. </member>
  801. <member name="M:LinFu.AOP.Cecil.Interfaces.IWeaver`2.Weave(`0)">
  802. <summary>
  803. Modifies the target <paramref name="item" />.
  804. </summary>
  805. <param name="item">The item to be modified.</param>
  806. </member>
  807. <member name="T:LinFu.AOP.Cecil.Interfaces.ITypeWeaver">
  808. <summary>
  809. Represents a type that can modify an existing <see cref="T:Mono.Cecil.TypeDefinition" />.
  810. </summary>
  811. </member>
  812. <member name="T:LinFu.AOP.Cecil.ImplementFieldInterceptionHostWeaver">
  813. <summary>
  814. Represents a type weaver that modifies types to implement the <see cref="T:LinFu.AOP.Interfaces.IFieldInterceptionHost" /> interface.
  815. </summary>
  816. </member>
  817. <member name="M:LinFu.AOP.Cecil.ImplementFieldInterceptionHostWeaver.#ctor(System.Func{Mono.Cecil.TypeReference,System.Boolean})">
  818. <summary>
  819. Initializes a new instance of the ImplementFieldInterceptionHostWeaver class.
  820. </summary>
  821. <param name="filter">The filter that determines which types should be modified.</param>
  822. </member>
  823. <member name="M:LinFu.AOP.Cecil.ImplementFieldInterceptionHostWeaver.ShouldWeave(Mono.Cecil.TypeDefinition)">
  824. <summary>
  825. Determines whether or not a type should be modified.
  826. </summary>
  827. <param name="item">
  828. </param>
  829. <returns>
  830. <c>true</c> if the type should be modified; otherwise, it will return <c>false</c>.</returns>
  831. </member>
  832. <member name="M:LinFu.AOP.Cecil.ImplementFieldInterceptionHostWeaver.Weave(Mono.Cecil.TypeDefinition)">
  833. <summary>
  834. Modifies the target type.
  835. </summary>
  836. <param name="type">The type to be modified.</param>
  837. </member>
  838. <member name="M:LinFu.AOP.Cecil.ImplementFieldInterceptionHostWeaver.AddAdditionalMembers(Mono.Cecil.ModuleDefinition)">
  839. <summary>
  840. Adds additional members to the target module.
  841. </summary>
  842. <param name="host">The host module.</param>
  843. </member>
  844. <member name="M:LinFu.AOP.Cecil.ImplementFieldInterceptionHostWeaver.ImportReferences(Mono.Cecil.ModuleDefinition)">
  845. <summary>
  846. Imports references into the target module.
  847. </summary>
  848. <param name="module">The module containing the type to be modified.</param>
  849. </member>
  850. <member name="T:LinFu.AOP.Cecil.Interfaces.IInstructionProvider">
  851. <summary>
  852. Represents a type that can provide the instructions for a given method.
  853. </summary>
  854. </member>
  855. <member name="M:LinFu.AOP.Cecil.Interfaces.IInstructionProvider.GetInstructions(Mono.Cecil.MethodDefinition)">
  856. <summary>
  857. Determines the instructions for a given method.
  858. </summary>
  859. <param name="method">The source method that contains the instructions.</param>
  860. <returns>The set of instructions for the given method.</returns>
  861. </member>
  862. <member name="T:LinFu.AOP.Cecil.InstructionProvider">
  863. <summary>
  864. Represents the default implementation of the <see cref="T:LinFu.AOP.Cecil.Interfaces.IInstructionProvider" /> class.
  865. </summary>
  866. </member>
  867. <member name="M:LinFu.AOP.Cecil.InstructionProvider.GetInstructions(Mono.Cecil.MethodDefinition)">
  868. <summary>
  869. Determines the instructions for a given method.
  870. </summary>
  871. <param name="method">The source method that contains the instructions.</param>
  872. <returns>The set of instructions for the given method.</returns>
  873. </member>
  874. <member name="T:LinFu.AOP.Cecil.InstructionSwapper">
  875. <summary>
  876. Provides the basic functionality for the <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodRewriter" /> interface.
  877. </summary>
  878. </member>
  879. <member name="M:LinFu.AOP.Cecil.InstructionSwapper.RewriteMethodBody(Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker,System.Collections.Generic.IEnumerable{Mono.Cecil.Cil.Instruction})">
  880. <summary>
  881. Rewrites the instructions in the target method body.
  882. </summary>
  883. <param name="method">The target method.</param>
  884. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> instance that represents the method body.</param>
  885. <param name="oldInstructions">The IL instructions of the original method body.</param>
  886. </member>
  887. <member name="M:LinFu.AOP.Cecil.InstructionSwapper.ShouldReplace(Mono.Cecil.Cil.Instruction,Mono.Cecil.MethodDefinition)">
  888. <summary>
  889. Determines whether or not the method rewriter should replace the <paramref name="oldInstruction" />.
  890. </summary>
  891. <param name="oldInstruction">The instruction that is currently being evaluated.</param>
  892. <param name="hostMethod">The method that hosts the current instruction.</param>
  893. <returns>
  894. <c>true</c> if the method should be replaced; otherwise, it should return <c>false</c>.</returns>
  895. </member>
  896. <member name="M:LinFu.AOP.Cecil.InstructionSwapper.Replace(Mono.Cecil.Cil.Instruction,Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker)">
  897. <summary>
  898. Replaces the <paramref name="oldInstruction" /> with a new set of <paramref name="IL" /> instructions..
  899. </summary>
  900. <param name="oldInstruction">The instruction currently being evaluated.</param>
  901. <param name="hostMethod">The method that contains the target instruction.</param>
  902. <param name="IL">The CilWorker for the target method body.</param>
  903. </member>
  904. <member name="T:LinFu.AOP.Cecil.InterceptAndSurroundMethodBody">
  905. <summary>
  906. Represents a method body rewriter that surrounds a method body with the necessary prolog and epilogs
  907. that enable method body interception.
  908. </summary>
  909. </member>
  910. <member name="M:LinFu.AOP.Cecil.InterceptAndSurroundMethodBody.#ctor(LinFu.AOP.Cecil.Interfaces.IEmitInvocationInfo,LinFu.AOP.Cecil.Interfaces.IInstructionEmitter,LinFu.AOP.Cecil.ISurroundMethodBody,LinFu.AOP.Cecil.Interfaces.IInstructionEmitter,LinFu.AOP.Cecil.Interfaces.IInstructionEmitter,LinFu.AOP.Cecil.Interfaces.IInstructionEmitter,LinFu.AOP.Cecil.IMethodBodyRewriterParameters)">
  911. <summary>
  912. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.InterceptAndSurroundMethodBody" /> class.
  913. </summary>
  914. <param name="emitter">The emitter that will instantiate the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
  915. <param name="getInterceptionDisabled">The emitter that will determine whether or not method interception is enabled.</param>
  916. <param name="surroundMethodBody">The <see cref="T:LinFu.AOP.Cecil.ISurroundMethodBody" /> instance that will add the epilogs and prologs to the method body.</param>
  917. <param name="getInstanceMethodReplacementProvider">The emitter that will obtain the method replacement provider instance.</param>
  918. <param name="getClassMethodReplacementProvider">The emitter that will obtain the class-level method replacement provider instance.</param>
  919. <param name="addMethodReplacement">The instruction emitter that will add the call to obtain the method body replacement instance. </param>
  920. <param name="parameters">The parameters that describe the context of the method body rewrite.</param>
  921. </member>
  922. <member name="M:LinFu.AOP.Cecil.InterceptAndSurroundMethodBody.Rewrite(Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker,System.Collections.Generic.IEnumerable{Mono.Cecil.Cil.Instruction})">
  923. <summary>
  924. Rewrites a target method using the given CilWorker.
  925. </summary>
  926. <param name="method">The target method.</param>
  927. <param name="IL">The CilWorker that will be used to rewrite the target method.</param>
  928. <param name="oldInstructions">The original instructions from the target method body.</param>
  929. </member>
  930. <member name="T:LinFu.AOP.Cecil.InterceptFieldAccess">
  931. <summary>
  932. Represents a <see cref="T:LinFu.AOP.Cecil.MethodRewriter" /> that intercepts calls to field getters and setters and redirects those calls to
  933. a <see cref="T:LinFu.AOP.Interfaces.IFieldInterceptor" /> instance.
  934. </summary>
  935. </member>
  936. <member name="M:LinFu.AOP.Cecil.InterceptFieldAccess.#ctor(System.Func{Mono.Cecil.FieldReference,System.Boolean})">
  937. <summary>
  938. Initializes a new instance of the InterceptFieldAccess class.
  939. </summary>
  940. <param name="filter">The filter that determines which fields should be intercepted.</param>
  941. </member>
  942. <member name="M:LinFu.AOP.Cecil.InterceptFieldAccess.#ctor(LinFu.AOP.Cecil.Interfaces.IFieldFilter)">
  943. <summary>
  944. Initializes a new instance of the InterceptFieldAccess class.
  945. </summary>
  946. <param name="filter">The filter that determines which fields should be intercepted.</param>
  947. </member>
  948. <member name="M:LinFu.AOP.Cecil.InterceptFieldAccess.AddLocals(Mono.Cecil.MethodDefinition)">
  949. <summary>
  950. Adds locals to the target method.
  951. </summary>
  952. <param name="hostMethod">The method to be modified</param>
  953. </member>
  954. <member name="M:LinFu.AOP.Cecil.InterceptFieldAccess.ImportReferences(Mono.Cecil.ModuleDefinition)">
  955. <summary>
  956. Adds references to the target module.
  957. </summary>
  958. <param name="module">The module that will be modified.</param>
  959. </member>
  960. <member name="M:LinFu.AOP.Cecil.InterceptFieldAccess.ShouldReplace(Mono.Cecil.Cil.Instruction,Mono.Cecil.MethodDefinition)">
  961. <summary>
  962. Determines whether or not the method rewriter should replace the <paramref name="oldInstruction" />.
  963. </summary>
  964. <remarks>The <see cref="T:LinFu.AOP.Cecil.InterceptFieldAccess" /> class only modifies instructions that get or set the value of static and instance fields.</remarks>
  965. <param name="oldInstruction">The instruction that is currently being evaluated.</param>
  966. <param name="hostMethod">The method that hosts the current instruction.</param>
  967. <returns>
  968. <c>true</c> if the method should be replaced; otherwise, it should return <c>false</c>.</returns>
  969. </member>
  970. <member name="M:LinFu.AOP.Cecil.InterceptFieldAccess.Replace(Mono.Cecil.Cil.Instruction,Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker)">
  971. <summary>
  972. Replaces the <paramref name="oldInstruction" /> with a set of new instructions.
  973. </summary>
  974. <param name="oldInstruction">The instruction currently being evaluated.</param>
  975. <param name="hostMethod">The method that contains the target instruction.</param>
  976. <param name="IL">The CilWorker that will be used to emit the method body instructions.</param>
  977. </member>
  978. <member name="T:LinFu.AOP.Cecil.InterceptMethodBody">
  979. <summary>
  980. Represents a method rewriter type that adds interception capabilities to any given method body.
  981. </summary>
  982. </member>
  983. <member name="M:LinFu.AOP.Cecil.InterceptMethodBody.#ctor(System.Func{Mono.Cecil.MethodReference,System.Boolean})">
  984. <summary>
  985. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.InterceptMethodBody" /> class.
  986. </summary>
  987. <param name="methodFilter">The method filter that will determine the methods with the method bodies that will be intercepted.</param>
  988. </member>
  989. <member name="M:LinFu.AOP.Cecil.InterceptMethodBody.ShouldRewrite(Mono.Cecil.MethodDefinition)">
  990. <summary>
  991. Determines whether or not the given method should be modified.
  992. </summary>
  993. <param name="targetMethod">The target method.</param>
  994. <returns>A <see cref="T:System.Boolean" /> indicating whether or not a method should be rewritten.</returns>
  995. </member>
  996. <member name="M:LinFu.AOP.Cecil.InterceptMethodBody.RewriteMethodBody(Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker,System.Collections.Generic.IEnumerable{Mono.Cecil.Cil.Instruction})">
  997. <summary>
  998. Rewrites the instructions in the target method body.
  999. </summary>
  1000. <param name="method">The target method.</param>
  1001. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> instance that represents the method body.</param>
  1002. <param name="oldInstructions">The IL instructions of the original method body.</param>
  1003. </member>
  1004. <member name="T:LinFu.AOP.Cecil.Interfaces.IAroundMethodWeaver">
  1005. <summary>
  1006. Represents a class that adds a method
  1007. epilog and prolog to an existing method instance.
  1008. </summary>
  1009. </member>
  1010. <member name="M:LinFu.AOP.Cecil.Interfaces.IAroundMethodWeaver.ShouldWeave(Mono.Cecil.MethodDefinition)">
  1011. <summary>
  1012. Determines whether or not the current item should be modified.
  1013. </summary>
  1014. <param name="method">The target item.</param>
  1015. <returns>Returns <c>true</c> if the current item can be modified; otherwise, it should return <c>false.</c></returns>
  1016. </member>
  1017. <member name="M:LinFu.AOP.Cecil.Interfaces.IAroundMethodWeaver.AddProlog(Mono.Cecil.Cil.Instruction,Mono.Cecil.Cil.MethodBody)">
  1018. <summary>
  1019. Adds an prolog to the target method.
  1020. </summary>
  1021. <param name="firstInstruction">The instruction that marks the start of the <paramref name="methodBody" /></param>
  1022. <param name="methodBody">The method body of the target method.</param>
  1023. </member>
  1024. <member name="M:LinFu.AOP.Cecil.Interfaces.IAroundMethodWeaver.AddEpilog(Mono.Cecil.Cil.Instruction,Mono.Cecil.Cil.MethodBody)">
  1025. <summary>
  1026. Adds an epilog to the target method.
  1027. </summary>
  1028. <param name="lastInstruction">The instruction that marks the end of the <paramref name="methodBody" /></param>
  1029. <param name="methodBody">The method body of the target method.</param>
  1030. </member>
  1031. <member name="T:LinFu.AOP.Cecil.Interfaces.IEmitInvocationInfo">
  1032. <summary>
  1033. Represents a class that emits
  1034. the IL to save information about
  1035. the method currently being executed.
  1036. </summary>
  1037. </member>
  1038. <member name="M:LinFu.AOP.Cecil.Interfaces.IEmitInvocationInfo.Emit(Mono.Cecil.MethodDefinition,Mono.Cecil.MethodReference,Mono.Cecil.Cil.VariableDefinition)">
  1039. <summary>
  1040. Emits the IL to save information about
  1041. the method currently being executed.
  1042. </summary>
  1043. <seealso cref="T:LinFu.AOP.Interfaces.IInvocationInfo" />
  1044. <param name="targetMethod">The target method currently being executed.</param>
  1045. <param name="currentMethod">The method that will be passed to the <paramref name="invocationInfo" /> as the currently executing method.</param>
  1046. <param name="invocationInfo">The local variable that will store the resulting <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
  1047. </member>
  1048. <member name="T:LinFu.AOP.Cecil.Interfaces.IMethodWeaver">
  1049. <summary>
  1050. Represents a type that can modify <see cref="T:Mono.Cecil.MethodDefinition" /> objects.
  1051. </summary>
  1052. </member>
  1053. <member name="T:LinFu.AOP.Cecil.Interfaces.IModuleWeaver">
  1054. <summary>
  1055. Represents a class that can modify existing <see cref="T:Mono.Cecil.ModuleDefinition" /> instances.
  1056. </summary>
  1057. </member>
  1058. <member name="T:LinFu.AOP.Cecil.Interfaces.INewObjectWeaver">
  1059. <summary>
  1060. Represents a type that can emit IL that instantiates an object
  1061. within a given method.
  1062. </summary>
  1063. </member>
  1064. <member name="M:LinFu.AOP.Cecil.Interfaces.INewObjectWeaver.AddLocals(Mono.Cecil.MethodDefinition)">
  1065. <summary>
  1066. Adds local variables to the <paramref name="hostMethod" />.
  1067. </summary>
  1068. <param name="hostMethod">The target method.</param>
  1069. </member>
  1070. <member name="M:LinFu.AOP.Cecil.Interfaces.INewObjectWeaver.ShouldIntercept(Mono.Cecil.MethodReference,Mono.Cecil.TypeReference,Mono.Cecil.MethodReference)">
  1071. <summary>
  1072. Determines whether or not the object instantiation call to the <paramref name="constructor" />
  1073. should be instrumented.
  1074. </summary>
  1075. <param name="constructor">The constructor that will be used to instantiate the target type.</param>
  1076. <param name="concreteType">The type to be created.</param>
  1077. <param name="hostMethod">The method that contains the instantiation request.</param>
  1078. <returns>
  1079. <c>true</c> if the call to the <c>new</c> operator should be intercepted; otherwise, it should return <c>false</c>.</returns>
  1080. </member>
  1081. <member name="M:LinFu.AOP.Cecil.Interfaces.INewObjectWeaver.EmitNewObject(Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker,Mono.Cecil.MethodReference,Mono.Cecil.TypeReference)">
  1082. <summary>
  1083. Emits the necessary <paramref name="IL" /> necessary to instantiate
  1084. the <paramref name="concreteType" />.
  1085. </summary>
  1086. <param name="hostMethod">The method that contains the activation request.</param>
  1087. <param name="IL">The CilWorker that will be used to replace the existing instructions in the method body.</param>
  1088. <param name="targetConstructor">The constructor that is currently being used to instantiate the concrete type.</param>
  1089. <param name="concreteType">The <see cref="T:System.Type" /> that describes the object type that needs to be instantiated.</param>
  1090. </member>
  1091. <member name="T:LinFu.AOP.Cecil.Interfaces.IPdbLoader">
  1092. <summary>
  1093. Represents a type that can load PDB files from disk.
  1094. </summary>
  1095. </member>
  1096. <member name="M:LinFu.AOP.Cecil.Interfaces.IPdbLoader.LoadAssembly(System.Byte[],System.Byte[])">
  1097. <summary>
  1098. Loads an assembly into memory.
  1099. </summary>
  1100. <param name="assemblyArray">The bytes that represent the target assembly.</param>
  1101. <param name="pdbBytes">The bytes that represent the PDB file.</param>
  1102. <returns>A <see cref="T:System.Reflection.Assembly" /> that represents the loaded assembly.</returns>
  1103. </member>
  1104. <member name="M:LinFu.AOP.Cecil.Interfaces.IPdbLoader.LoadSymbols(Mono.Cecil.AssemblyDefinition)">
  1105. <summary>
  1106. Loads the debug symbols from the target <paramref name="assembly" />.
  1107. </summary>
  1108. <param name="assembly">The assembly that contains the symbols to be loaded.</param>
  1109. </member>
  1110. <member name="M:LinFu.AOP.Cecil.Interfaces.IPdbLoader.SaveSymbols(Mono.Cecil.AssemblyDefinition)">
  1111. <summary>
  1112. Saves the debug symbols for the target<paramref name="assembly" />.
  1113. </summary>
  1114. <param name="targetAssembly">The assembly that contains the symbols to be saved.</param>
  1115. </member>
  1116. <member name="T:LinFu.AOP.Cecil.InvocationInfo">
  1117. <summary>
  1118. Represents the information associated with
  1119. a single method call.
  1120. </summary>
  1121. </member>
  1122. <member name="M:LinFu.AOP.Cecil.InvocationInfo.#ctor(System.Object,System.Reflection.MethodBase,System.Diagnostics.StackTrace,System.Type[],System.Type[],System.Type,System.Object[])">
  1123. <summary>
  1124. Initializes the <see cref="T:LinFu.AOP.Cecil.InvocationInfo" /> instance.
  1125. </summary>
  1126. <param name="target">The target instance currently being called.</param>
  1127. <param name="targetMethod">The method currently being called.</param>
  1128. <param name="stackTrace"> The <see cref="P:LinFu.AOP.Cecil.InvocationInfo.StackTrace" /> associated with the method call when the call was made.</param>
  1129. <param name="parameterTypes">The parameter types for the current target method.</param>
  1130. <param name="typeArguments">
  1131. If the <see cref="P:LinFu.AOP.Cecil.InvocationInfo.TargetMethod" /> method is a generic method,
  1132. this will hold the generic type arguments used to construct the
  1133. method.
  1134. </param>
  1135. <param name="returnType">The return type of the target method.</param>
  1136. <param name="arguments">The arguments used in the method call.</param>
  1137. </member>
  1138. <member name="M:LinFu.AOP.Cecil.InvocationInfo.ToString">
  1139. <summary>
  1140. Returns a string that represents the current object.
  1141. </summary>
  1142. <returns>A string that represents the current object.</returns>
  1143. </member>
  1144. <member name="P:LinFu.AOP.Cecil.InvocationInfo.CallingMethod">
  1145. <summary>
  1146. This is the actual calling method that invoked the <see cref="P:LinFu.AOP.Cecil.InvocationInfo.TargetMethod" />.
  1147. </summary>
  1148. </member>
  1149. <member name="P:LinFu.AOP.Cecil.InvocationInfo.Target">
  1150. <summary>
  1151. The target instance currently being called.
  1152. </summary>
  1153. <remarks>This typically is a reference to a proxy object.</remarks>
  1154. </member>
  1155. <member name="P:LinFu.AOP.Cecil.InvocationInfo.TargetMethod">
  1156. <summary>
  1157. The method currently being called.
  1158. </summary>
  1159. </member>
  1160. <member name="P:LinFu.AOP.Cecil.InvocationInfo.StackTrace">
  1161. <summary>
  1162. The <see cref="P:LinFu.AOP.Cecil.InvocationInfo.StackTrace" /> associated
  1163. with the method call when the call was made.
  1164. </summary>
  1165. </member>
  1166. <member name="P:LinFu.AOP.Cecil.InvocationInfo.ReturnType">
  1167. <summary>
  1168. The return type of the <see cref="P:LinFu.AOP.Cecil.InvocationInfo.TargetMethod" />.
  1169. </summary>
  1170. </member>
  1171. <member name="P:LinFu.AOP.Cecil.InvocationInfo.ParameterTypes">
  1172. <summary>
  1173. The parameter types for the current target method.
  1174. </summary>
  1175. <remarks>
  1176. <para>
  1177. This could be very useful in cases where the actual target method
  1178. is based on a generic type definition. In such cases,
  1179. the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance needs to be able
  1180. to describe the actual parameter types being used by the
  1181. current generic type instantiation. This property helps
  1182. users determine which parameter types are actually being used
  1183. at the time of the method call.
  1184. </para>
  1185. </remarks>
  1186. </member>
  1187. <member name="P:LinFu.AOP.Cecil.InvocationInfo.TypeArguments">
  1188. <summary>
  1189. If the <see cref="P:LinFu.AOP.Cecil.InvocationInfo.TargetMethod" /> method is a generic method,
  1190. this will hold the generic type arguments used to construct the
  1191. method.
  1192. </summary>
  1193. </member>
  1194. <member name="P:LinFu.AOP.Cecil.InvocationInfo.Arguments">
  1195. <summary>
  1196. The arguments used in the method call.
  1197. </summary>
  1198. </member>
  1199. <member name="T:LinFu.AOP.Cecil.InvocationInfoEmitter">
  1200. <summary>
  1201. Represents the default implementation for the
  1202. <see cref="T:LinFu.AOP.Cecil.Interfaces.IEmitInvocationInfo" /> class.
  1203. </summary>
  1204. </member>
  1205. <member name="M:LinFu.AOP.Cecil.InvocationInfoEmitter.#ctor">
  1206. <summary>
  1207. Initializes a new instance of the InvocationInfoEmitter class.
  1208. </summary>
  1209. </member>
  1210. <member name="M:LinFu.AOP.Cecil.InvocationInfoEmitter.#ctor(System.Boolean)">
  1211. <summary>
  1212. Initializes a new instance of the InvocationInfoEmitter class.
  1213. </summary>
  1214. <param name="pushStackTrace">Determines whether or not stack trace information will be available at runtime.</param>
  1215. </member>
  1216. <member name="M:LinFu.AOP.Cecil.InvocationInfoEmitter.Emit(Mono.Cecil.MethodDefinition,Mono.Cecil.MethodReference,Mono.Cecil.Cil.VariableDefinition)">
  1217. <summary>
  1218. Emits the IL to save information about
  1219. the method currently being executed.
  1220. </summary>
  1221. <seealso cref="T:LinFu.AOP.Interfaces.IInvocationInfo" />
  1222. <param name="targetMethod">The target method currently being executed.</param>
  1223. <param name="interceptedMethod">The method that will be passed to the <paramref name="invocationInfo" /> as the currently executing method.</param>
  1224. <param name="invocationInfo">The local variable that will store the resulting <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
  1225. </member>
  1226. <member name="T:LinFu.AOP.Cecil.Extensions.InvocationInfoExtensions">
  1227. <summary>
  1228. Adds helper methods classes that implement the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" />
  1229. interface.
  1230. </summary>
  1231. </member>
  1232. <member name="M:LinFu.AOP.Cecil.Extensions.InvocationInfoExtensions.Emit(LinFu.AOP.Cecil.Interfaces.IEmitInvocationInfo,System.Reflection.MethodInfo,Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.VariableDefinition)">
  1233. <summary>
  1234. Emits the IL instructions that will store information about the method <paramref name="targetMethod">currently being executed</paramref>
  1235. and stores the results into the <paramref name="invocationInfo">variable.</paramref></summary>
  1236. <param name="emitter">The <see cref="T:LinFu.AOP.Cecil.Interfaces.IEmitInvocationInfo" /> instance.</param>
  1237. <param name="method">The method whose implementation will be intercepted.</param>
  1238. <param name="targetMethod">The actual method that will contain the resulting instructions.</param>
  1239. <param name="invocationInfo">The <see cref="T:Mono.Cecil.Cil.VariableDefinition">local variable</see> that will store the current <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
  1240. </member>
  1241. <member name="M:LinFu.AOP.Cecil.Extensions.InvocationInfoExtensions.Proceed(LinFu.AOP.Interfaces.IInvocationInfo)">
  1242. <summary>
  1243. Invokes the currently executing method by using the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.Target" />
  1244. as the target instance, the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod" /> as the method,
  1245. and uses the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.Arguments" /> for the method
  1246. arguments.
  1247. </summary>
  1248. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that contains information about the method call itself.</param>
  1249. <returns>The return value of the method call.</returns>
  1250. </member>
  1251. <member name="M:LinFu.AOP.Cecil.Extensions.InvocationInfoExtensions.Proceed(LinFu.AOP.Interfaces.IInvocationInfo,System.Object)">
  1252. <summary>
  1253. Invokes the currently executing method by using the <paramref name="target" />
  1254. as the target instance, the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod" /> as the method,
  1255. and uses the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.Arguments" /> for the method
  1256. arguments.
  1257. </summary>
  1258. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that contains information about the method call itself.</param>
  1259. <param name="target">The target instance that will handle the method call.</param>
  1260. <returns>The return value of the method call.</returns>
  1261. </member>
  1262. <member name="M:LinFu.AOP.Cecil.Extensions.InvocationInfoExtensions.Proceed(LinFu.AOP.Interfaces.IInvocationInfo,System.Object,System.Object[])">
  1263. <summary>
  1264. Invokes the currently executing method by using the <paramref name="target" />
  1265. as the target instance, the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod" /> as the method,
  1266. and uses the <paramref name="arguments" /> for the method
  1267. arguments.
  1268. </summary>
  1269. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that contains information about the method call itself.</param>
  1270. <param name="target">The target instance that will handle the method call.</param>
  1271. <param name="arguments">The arguments that will be used for the actual method call.</param>
  1272. <returns>The return value of the method call.</returns>
  1273. </member>
  1274. <member name="T:LinFu.AOP.Cecil.Interfaces.IVerifier">
  1275. <summary>
  1276. A class that verifies a given <see cref="T:Mono.Cecil.AssemblyDefinition" /> instance.
  1277. </summary>
  1278. </member>
  1279. <member name="M:LinFu.AOP.Cecil.Interfaces.IVerifier.Verify(Mono.Cecil.AssemblyDefinition)">
  1280. <summary>
  1281. Verifies the given <paramref name="assembly" /> instance.
  1282. </summary>
  1283. <param name="assembly">The assembly definition that needs to be verified.</param>
  1284. </member>
  1285. <member name="T:LinFu.AOP.Cecil.InvokeMethodReplacement">
  1286. <summary>
  1287. Represents a class that emits the instructions that call the method replacement instead of the original method body.
  1288. </summary>
  1289. </member>
  1290. <member name="M:LinFu.AOP.Cecil.InvokeMethodReplacement.#ctor(Mono.Cecil.Cil.Instruction,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition)">
  1291. <summary>
  1292. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.InvokeMethodReplacement" /> class.
  1293. </summary>
  1294. <param name="executeOriginalInstructions">The instruction label that will be used if the original instructions should be executed.</param>
  1295. <param name="methodReplacementProvider">The variable that contains the <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.</param>
  1296. <param name="classMethodReplacementProvider">The variable that contains the class-level <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.</param>
  1297. <param name="invocationInfo">The variable that contains the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
  1298. </member>
  1299. <member name="M:LinFu.AOP.Cecil.InvokeMethodReplacement.Emit(Mono.Cecil.Cil.CilWorker)">
  1300. <summary>
  1301. Emits the instructions that call the method replacement instead of the original method body.
  1302. </summary>
  1303. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that points to the current method body.</param>
  1304. </member>
  1305. <member name="T:LinFu.AOP.Cecil.ISurroundMethodBody">
  1306. <summary>
  1307. Represents a type that can add a prolog and epilog instructions to a particular method body.
  1308. </summary>
  1309. </member>
  1310. <member name="M:LinFu.AOP.Cecil.ISurroundMethodBody.AddProlog(Mono.Cecil.Cil.CilWorker)">
  1311. <summary>
  1312. Adds a prolog to the given method body.
  1313. </summary>
  1314. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that points to the given method body.</param>
  1315. </member>
  1316. <member name="M:LinFu.AOP.Cecil.ISurroundMethodBody.AddEpilog(Mono.Cecil.Cil.CilWorker)">
  1317. <summary>
  1318. Adds an epilog to the given method body.
  1319. </summary>
  1320. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that points to the given method body.</param>
  1321. </member>
  1322. <member name="T:LinFu.AOP.Cecil.ITypeFilter">
  1323. <summary>
  1324. Represents a type that determines whether or not a particular type should be modified.
  1325. </summary>
  1326. </member>
  1327. <member name="M:LinFu.AOP.Cecil.ITypeFilter.ShouldWeave(Mono.Cecil.TypeReference)">
  1328. <summary>
  1329. Determines whether or not a type should be modified.
  1330. </summary>
  1331. <param name="type">The target type.</param>
  1332. <returns>Returns <c>true</c> if the type should be modified.</returns>
  1333. </member>
  1334. <member name="T:LinFu.AOP.Cecil.Loaders.AssemblyLoaderWithPdbSupport">
  1335. <summary>
  1336. Represents an <see cref="P:LinFu.AOP.Cecil.Loaders.AssemblyLoaderWithPdbSupport.AssemblyLoader" /> class that adds support for loading PDB files into memory every time an assembly is loaded into memory.
  1337. </summary>
  1338. </member>
  1339. <member name="M:LinFu.AOP.Cecil.Loaders.AssemblyLoaderWithPdbSupport.#ctor(LinFu.Reflection.IAssemblyLoader)">
  1340. <summary>
  1341. Initializes a new instance of the AssemblyLoaderWithPdbSupport class.
  1342. </summary>
  1343. <param name="loader">The <see cref="T:LinFu.Reflection.IAssemblyLoader" /> that will perform the actual load operation.</param>
  1344. </member>
  1345. <member name="M:LinFu.AOP.Cecil.Loaders.AssemblyLoaderWithPdbSupport.Load(System.String)">
  1346. <summary>
  1347. Loads the target assembly (and its corresponding PDB file) into memory.
  1348. </summary>
  1349. <param name="assemblyFile">The full path and filename of the assembly to load.</param>
  1350. <returns>A loaded <see cref="T:System.Reflection.Assembly" /> instance.</returns>
  1351. </member>
  1352. <member name="M:LinFu.AOP.Cecil.Loaders.AssemblyLoaderWithPdbSupport.RemoveTemporaryFiles(System.String,System.String,System.String,System.String)">
  1353. <summary>
  1354. Removes the temporary backup files that were created during the load operation.
  1355. </summary>
  1356. <param name="assemblyFile">The full path and location of the original assembly file.</param>
  1357. <param name="pdbFile">The full path and location of the original PDB file.</param>
  1358. <param name="pdbTempFileName">The full path and location of the temporary pdb file.</param>
  1359. <param name="assemblyBackupFile">The full path and location of the backup assembly file.</param>
  1360. </member>
  1361. <member name="P:LinFu.AOP.Cecil.Loaders.AssemblyLoaderWithPdbSupport.AssemblyLoader">
  1362. <summary>
  1363. Gets or sets the value indicating the <see cref="T:LinFu.Reflection.IAssemblyLoader" /> instance that will be used to load assemblies into memory.
  1364. </summary>
  1365. </member>
  1366. <member name="T:LinFu.AOP.Cecil.Loaders.JITWeaver">
  1367. <summary>
  1368. Represents a loader that modifies a given assembly prior to being loaded from disk.
  1369. </summary>
  1370. </member>
  1371. <member name="M:LinFu.AOP.Cecil.Loaders.JITWeaver.#ctor">
  1372. <summary>
  1373. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.Loaders.JITWeaver" /> class.
  1374. </summary>
  1375. </member>
  1376. <member name="M:LinFu.AOP.Cecil.Loaders.JITWeaver.#ctor(LinFu.AOP.Cecil.Interfaces.IPdbLoader)">
  1377. <summary>
  1378. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.Loaders.JITWeaver" /> class.
  1379. </summary>
  1380. <param name="pdbLoader">The loader that will be responsible for loading the program debugging information into memory.</param>
  1381. </member>
  1382. <member name="M:LinFu.AOP.Cecil.Loaders.JITWeaver.Load(System.String)">
  1383. <summary>
  1384. Modifies a given assembly prior to being loaded from disk.
  1385. </summary>
  1386. <param name="assemblyFile">The filename of the target assembly.</param>
  1387. <returns>A valid assembly.</returns>
  1388. </member>
  1389. <member name="P:LinFu.AOP.Cecil.Loaders.JITWeaver.PdbLoader">
  1390. <summary>
  1391. Gets or sets the value indicating the <see cref="T:LinFu.AOP.Cecil.Interfaces.IPdbLoader" /> that will be used to load debug symbols into memory.
  1392. </summary>
  1393. </member>
  1394. <member name="P:LinFu.AOP.Cecil.Loaders.JITWeaver.AssemblyWeavers">
  1395. <summary>
  1396. Gets the value indicating the list of <see cref="T:System.Action`1" /> delegates
  1397. that will be used to modify the assemblies loaded into memory.
  1398. </summary>
  1399. </member>
  1400. <member name="P:LinFu.AOP.Cecil.Loaders.JITWeaver.AssemblyVerifier">
  1401. <summary>
  1402. Gets or sets the value indicating the <see cref="T:LinFu.AOP.Cecil.Interfaces.IVerifier" />
  1403. instance that will be used to ensure that the modified assemblies are valid.
  1404. </summary>
  1405. </member>
  1406. <member name="T:LinFu.AOP.Cecil.Loaders.PdbLoader">
  1407. <summary>
  1408. Represents the default implementation of the <see cref="T:LinFu.AOP.Cecil.Interfaces.IPdbLoader" /> interface.
  1409. </summary>
  1410. </member>
  1411. <member name="M:LinFu.AOP.Cecil.Loaders.PdbLoader.LoadAssembly(System.Byte[],System.Byte[])">
  1412. <summary>
  1413. Loads an assembly into memory.
  1414. </summary>
  1415. <param name="assemblyArray">The bytes that represent the target assembly.</param>
  1416. <param name="pdbBytes">The bytes that represent the PDB file.</param>
  1417. <returns>A <see cref="T:System.Reflection.Assembly" /> that represents the loaded assembly.</returns>
  1418. </member>
  1419. <member name="M:LinFu.AOP.Cecil.Loaders.PdbLoader.LoadSymbols(Mono.Cecil.AssemblyDefinition)">
  1420. <summary>
  1421. Loads the debug symbols from the target <paramref name="assembly" />.
  1422. </summary>
  1423. <param name="assembly">The assembly that contains the symbols to be loaded.</param>
  1424. </member>
  1425. <member name="M:LinFu.AOP.Cecil.Loaders.PdbLoader.SaveSymbols(Mono.Cecil.AssemblyDefinition)">
  1426. <summary>
  1427. Saves the debug symbols for the target<paramref name="assembly" />.
  1428. </summary>
  1429. <param name="targetAssembly">The assembly that contains the symbols to be saved.</param>
  1430. </member>
  1431. <member name="T:LinFu.AOP.Cecil.MethodBodyRewriterParameters">
  1432. <summary>
  1433. Represents the parameters used to add interception to a given method body.
  1434. </summary>
  1435. </member>
  1436. <member name="M:LinFu.AOP.Cecil.MethodBodyRewriterParameters.#ctor(Mono.Cecil.Cil.CilWorker,System.Collections.Generic.IEnumerable{Mono.Cecil.Cil.Instruction},Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,System.Func{Mono.Cecil.ModuleDefinition,Mono.Cecil.MethodReference},System.Type)">
  1437. <summary>
  1438. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.MethodBodyRewriterParameters" /> class.
  1439. </summary>
  1440. <param name="IL">The CilWorker that is responsible for the current method body.</param>
  1441. <param name="oldInstructions">The value indicating the list of old instructions in the current method body.</param>
  1442. <param name="interceptionDisabled">The value that determines whether or not interception is disabled.</param>
  1443. <param name="invocationInfo">The local variable that will store the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
  1444. <param name="returnValue">The value indicating the local variable that will store the return value.</param>
  1445. <param name="methodReplacementProvider">The <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.</param>
  1446. <param name="aroundInvokeProvider">The <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance.</param>
  1447. <param name="classMethodReplacementProvider">The class-level<see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.</param>
  1448. <param name="getMethodReplacementProviderMethod">The functor that resolves the GetMethodReplacementProvider method.</param>
  1449. <param name="registryType">The interception registry type that will be responsible for handling class-level interception events.</param>
  1450. </member>
  1451. <member name="P:LinFu.AOP.Cecil.MethodBodyRewriterParameters.OldInstructions">
  1452. <summary>
  1453. Gets the value indicating the list of old instructions in the current method body.
  1454. </summary>
  1455. <value>The value indicating the list of old instructions in the current method body.</value>
  1456. </member>
  1457. <member name="P:LinFu.AOP.Cecil.MethodBodyRewriterParameters.ClassMethodReplacementProvider">
  1458. <summary>
  1459. Gets the value indicating the class-level<see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.
  1460. </summary>
  1461. <value>The class-level<see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.</value>
  1462. </member>
  1463. <member name="P:LinFu.AOP.Cecil.MethodBodyRewriterParameters.AroundInvokeProvider">
  1464. <summary>
  1465. Gets the value indicating the local variable used to store the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance.
  1466. </summary>
  1467. <value>The <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance.</value>
  1468. </member>
  1469. <member name="P:LinFu.AOP.Cecil.MethodBodyRewriterParameters.MethodReplacementProvider">
  1470. <summary>
  1471. Gets the value indicating the local variable used to store the <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.
  1472. </summary>
  1473. <value>The <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.</value>
  1474. </member>
  1475. <member name="P:LinFu.AOP.Cecil.MethodBodyRewriterParameters.TargetMethod">
  1476. <summary>
  1477. Gets the value indicating the TargetMethod to be modified.
  1478. </summary>
  1479. <value>The method to be modified.</value>
  1480. </member>
  1481. <member name="P:LinFu.AOP.Cecil.MethodBodyRewriterParameters.InterceptionDisabled">
  1482. <summary>
  1483. Gets the value indicating the local variable that will store the value that determines whether or not
  1484. interception is disabled.
  1485. </summary>
  1486. <value>The value that determines whether or not interception is disabled.</value>
  1487. </member>
  1488. <member name="P:LinFu.AOP.Cecil.MethodBodyRewriterParameters.InvocationInfo">
  1489. <summary>
  1490. Gets the value indicating the local variable that will store the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.
  1491. </summary>
  1492. <value>The local variable that will store the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</value>
  1493. </member>
  1494. <member name="P:LinFu.AOP.Cecil.MethodBodyRewriterParameters.ReturnValue">
  1495. <summary>
  1496. Gets the value indicating the local variable that will store the return value.
  1497. </summary>
  1498. <value>The value indicating the local variable that will store the return value.</value>
  1499. </member>
  1500. <member name="P:LinFu.AOP.Cecil.MethodBodyRewriterParameters.RegistryType">
  1501. <summary>
  1502. Gets the value indicating the interception registry type that will be responsible for handling class-level interception events.
  1503. </summary>
  1504. <value>The interception registry type that will be responsible for handling class-level interception events.</value>
  1505. </member>
  1506. <member name="P:LinFu.AOP.Cecil.MethodBodyRewriterParameters.GetMethodReplacementProviderMethod">
  1507. <summary>
  1508. Gets the value indicating the functor that resolves the GetMethodReplacementProvider method.
  1509. </summary>
  1510. <value>The functor that resolves the GetMethodReplacementProvider method.</value>
  1511. </member>
  1512. <member name="T:LinFu.AOP.Cecil.Extensions.MethodDefinitionExtensions">
  1513. <summary>
  1514. Represents an extension class that adds helper methods to the <see cref="T:Mono.Cecil.MethodDefinition" /> type.
  1515. </summary>
  1516. </member>
  1517. <member name="M:LinFu.AOP.Cecil.Extensions.MethodDefinitionExtensions.AddLocal(Mono.Cecil.MethodDefinition,System.Type)">
  1518. <summary>
  1519. Adds a local variable to the given method.
  1520. </summary>
  1521. <param name="methodDef">The target method.</param>
  1522. <param name="localType">The variable type.</param>
  1523. <returns>A local variable definition.</returns>
  1524. </member>
  1525. <member name="T:LinFu.AOP.Cecil.Extensions.MethodBodyInterceptionExtensions">
  1526. <summary>
  1527. Represents an extension class that adds method body interception support to the Mono.Cecil object model.
  1528. </summary>
  1529. </member>
  1530. <member name="M:LinFu.AOP.Cecil.Extensions.MethodBodyInterceptionExtensions.InterceptAllMethodBodies(Mono.Cecil.IReflectionStructureVisitable)">
  1531. <summary>
  1532. Intercepts all method bodies on the target item.
  1533. </summary>
  1534. <param name="target">The target to be modified.</param>
  1535. </member>
  1536. <member name="M:LinFu.AOP.Cecil.Extensions.MethodBodyInterceptionExtensions.InterceptAllMethodBodies(Mono.Cecil.IReflectionVisitable)">
  1537. <summary>
  1538. Intercepts all method bodies on the target item.
  1539. </summary>
  1540. <param name="target">The target to be modified.</param>
  1541. </member>
  1542. <member name="M:LinFu.AOP.Cecil.Extensions.MethodBodyInterceptionExtensions.InterceptMethodBody(Mono.Cecil.IReflectionVisitable,LinFu.AOP.Cecil.Interfaces.IMethodFilter)">
  1543. <summary>
  1544. Intercepts all method bodies on the target item.
  1545. </summary>
  1546. <param name="target">The target to be modified.</param>
  1547. <param name="methodFilter">The method filter that will determine the methods that will be modified.</param>
  1548. </member>
  1549. <member name="M:LinFu.AOP.Cecil.Extensions.MethodBodyInterceptionExtensions.InterceptMethodBody(Mono.Cecil.IReflectionStructureVisitable,LinFu.AOP.Cecil.Interfaces.IMethodFilter)">
  1550. <summary>
  1551. Intercepts all method bodies on the target item.
  1552. </summary>
  1553. <param name="target">The target to be modified.</param>
  1554. <param name="methodFilter">The method filter that will determine the methods that will be modified.</param>
  1555. </member>
  1556. <member name="M:LinFu.AOP.Cecil.Extensions.MethodBodyInterceptionExtensions.InterceptMethodBody(Mono.Cecil.IReflectionStructureVisitable,System.Func{Mono.Cecil.MethodReference,System.Boolean})">
  1557. <summary>
  1558. Intercepts all method bodies on the target item.
  1559. </summary>
  1560. <param name="target">The target to be modified.</param>
  1561. <param name="methodFilter">The method filter that will determine the methods that will be modified.</param>
  1562. </member>
  1563. <member name="M:LinFu.AOP.Cecil.Extensions.MethodBodyInterceptionExtensions.InterceptMethodBody(Mono.Cecil.IReflectionVisitable,System.Func{Mono.Cecil.MethodReference,System.Boolean})">
  1564. <summary>
  1565. Intercepts all method bodies on the target item.
  1566. </summary>
  1567. <param name="target">The target to be modified.</param>
  1568. <param name="methodFilter">The method filter that will determine the methods that will be modified.</param>
  1569. </member>
  1570. <member name="T:LinFu.AOP.Cecil.Extensions.MethodCallInterceptionExtensions">
  1571. <summary>
  1572. Represents an extension class that adds method call interception support to the Mono.Cecil object model.
  1573. </summary>
  1574. </member>
  1575. <member name="M:LinFu.AOP.Cecil.Extensions.MethodCallInterceptionExtensions.InterceptAllMethodCalls(Mono.Cecil.IReflectionStructureVisitable)">
  1576. <summary>
  1577. Modifies the current <paramref name="target" /> to support third-party method call interception for all method calls made inside the target.
  1578. </summary>
  1579. <param name="target">The target object.</param>
  1580. </member>
  1581. <member name="M:LinFu.AOP.Cecil.Extensions.MethodCallInterceptionExtensions.InterceptAllMethodCalls(Mono.Cecil.IReflectionVisitable)">
  1582. <summary>
  1583. Modifies the current <paramref name="target" /> to support third-party method call interception for all method calls made inside the target.
  1584. </summary>
  1585. <param name="target">The target object.</param>
  1586. </member>
  1587. <member name="M:LinFu.AOP.Cecil.Extensions.MethodCallInterceptionExtensions.InterceptMethodCalls(Mono.Cecil.IReflectionStructureVisitable,System.Func{Mono.Cecil.TypeReference,System.Boolean})">
  1588. <summary>
  1589. Modifies the current <paramref name="target" /> to support third-party method call interception for all method calls made inside the target.
  1590. </summary>
  1591. <param name="target">The target object.</param>
  1592. <param name="typeFilter">The type filter that determines which types will be modified for interception.</param>
  1593. </member>
  1594. <member name="M:LinFu.AOP.Cecil.Extensions.MethodCallInterceptionExtensions.InterceptMethodCalls(Mono.Cecil.IReflectionVisitable,System.Func{Mono.Cecil.TypeReference,System.Boolean})">
  1595. <summary>
  1596. Modifies the current <paramref name="target" /> to support third-party method call interception for all method calls made inside the target.
  1597. </summary>
  1598. <param name="target">The target object.</param>
  1599. <param name="typeFilter">The type filter that determines the types that will be modified.</param>
  1600. </member>
  1601. <member name="M:LinFu.AOP.Cecil.Extensions.MethodCallInterceptionExtensions.InterceptMethodCalls(Mono.Cecil.IReflectionVisitable,LinFu.AOP.Cecil.Interfaces.IMethodCallFilter,LinFu.AOP.Cecil.Interfaces.IMethodFilter)">
  1602. <summary>
  1603. Modifies the current <paramref name="target" /> to support third-party method call interception for all method calls made inside the target.
  1604. </summary>
  1605. <param name="target">The target object.</param>
  1606. <param name="methodCallFilter">The <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodCallFilter" /> instance that determines the method calls that will be intercepted.</param>
  1607. <param name="hostMethodFilter">The <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodFilter" /> instance that determines the host method calls that will be modified</param>
  1608. </member>
  1609. <member name="M:LinFu.AOP.Cecil.Extensions.MethodCallInterceptionExtensions.InterceptMethodCalls(Mono.Cecil.IReflectionStructureVisitable,LinFu.AOP.Cecil.Interfaces.IMethodCallFilter,LinFu.AOP.Cecil.Interfaces.IMethodFilter)">
  1610. <summary>
  1611. Modifies the current <paramref name="target" /> to support third-party method call interception for all method calls made inside the target.
  1612. </summary>
  1613. <param name="target">The target object.</param>
  1614. <param name="methodCallFilter">The <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodCallFilter" /> instance that determines the method calls that will be intercepted.</param>
  1615. <param name="hostMethodFilter">The <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodFilter" /> instance that determines the host method calls that will be modified</param>
  1616. </member>
  1617. <member name="M:LinFu.AOP.Cecil.Extensions.MethodCallInterceptionExtensions.InterceptMethodCalls(Mono.Cecil.IReflectionStructureVisitable,System.Func{Mono.Cecil.TypeReference,System.Boolean},System.Func{Mono.Cecil.MethodReference,System.Boolean},System.Func{Mono.Cecil.MethodReference,System.Boolean})">
  1618. <summary>
  1619. Modifies the current <paramref name="target" /> to support third-party method call interception.
  1620. </summary>
  1621. <param name="target">The target object.</param>
  1622. <param name="typeFilter">The filter that will determine the target types that will be modified.</param>
  1623. <param name="hostMethodFilter">The filter that will determine the methods that will be modified on the target type.</param>
  1624. <param name="methodCallFilter">The filter that will determine which third-party methods will be intercepted on the target type.</param>
  1625. </member>
  1626. <member name="M:LinFu.AOP.Cecil.Extensions.MethodCallInterceptionExtensions.InterceptMethodCalls(Mono.Cecil.IReflectionVisitable,System.Func{Mono.Cecil.TypeReference,System.Boolean},System.Func{Mono.Cecil.MethodReference,System.Boolean},System.Func{Mono.Cecil.MethodReference,System.Boolean})">
  1627. <summary>
  1628. Modifies the current <paramref name="target" /> to support third-party method call interception.
  1629. </summary>
  1630. <param name="target">The target object.</param>
  1631. <param name="typeFilter">The filter that will determine the target types that will be modified.</param>
  1632. <param name="hostMethodFilter">The filter that will determine the methods that will be modified on the target type.</param>
  1633. <param name="methodCallFilter">The filter that will determine which third-party methods will be intercepted on the target type.</param>
  1634. </member>
  1635. <member name="T:LinFu.AOP.Cecil.MethodRewriter">
  1636. <summary>
  1637. Provides the basic functionality for the <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodRewriter" /> interface.
  1638. </summary>
  1639. </member>
  1640. <member name="M:LinFu.AOP.Cecil.MethodRewriter.Rewrite(Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker,System.Collections.Generic.IEnumerable{Mono.Cecil.Cil.Instruction})">
  1641. <summary>
  1642. Rewrites a target method using the given CilWorker.
  1643. </summary>
  1644. <param name="method">The target method.</param>
  1645. <param name="IL">The CilWorker that will be used to rewrite the target method.</param>
  1646. <param name="oldInstructions">The original instructions from the target method body.</param>
  1647. </member>
  1648. <member name="M:LinFu.AOP.Cecil.MethodRewriter.AddAdditionalMembers(Mono.Cecil.TypeDefinition)">
  1649. <summary>
  1650. Adds additional members to the host type.
  1651. </summary>
  1652. <param name="host">The host type.</param>
  1653. </member>
  1654. <member name="M:LinFu.AOP.Cecil.MethodRewriter.ImportReferences(Mono.Cecil.ModuleDefinition)">
  1655. <summary>
  1656. Adds additional references to the target module.
  1657. </summary>
  1658. <param name="module">The host module.</param>
  1659. </member>
  1660. <member name="M:LinFu.AOP.Cecil.MethodRewriter.AddLocals(Mono.Cecil.MethodDefinition)">
  1661. <summary>
  1662. Adds local variables to the <paramref name="hostMethod" />.
  1663. </summary>
  1664. <param name="hostMethod">The target method.</param>
  1665. </member>
  1666. <member name="M:LinFu.AOP.Cecil.MethodRewriter.ShouldReplace(Mono.Cecil.Cil.Instruction,Mono.Cecil.MethodDefinition)">
  1667. <summary>
  1668. Determines whether or not the method rewriter should replace the <paramref name="oldInstruction" />.
  1669. </summary>
  1670. <param name="oldInstruction">The instruction that is currently being evaluated.</param>
  1671. <param name="hostMethod">The method that hosts the current instruction.</param>
  1672. <returns>
  1673. <c>true</c> if the method should be replaced; otherwise, it should return <c>false</c>.</returns>
  1674. </member>
  1675. <member name="M:LinFu.AOP.Cecil.MethodRewriter.Replace(Mono.Cecil.Cil.Instruction,Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker)">
  1676. <summary>
  1677. Replaces the <paramref name="oldInstruction" /> with a new set of <paramref name="IL" /> instructions..
  1678. </summary>
  1679. <param name="oldInstruction">The instruction currently being evaluated.</param>
  1680. <param name="hostMethod">The method that contains the target instruction.</param>
  1681. <param name="IL">The CilWorker for the target method body.</param>
  1682. </member>
  1683. <member name="T:LinFu.AOP.Cecil.Extensions.MethodRewriterExtensions">
  1684. <summary>
  1685. A helper class that extends Cecil to support the <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodRewriter" /> interface.
  1686. </summary>
  1687. </member>
  1688. <member name="M:LinFu.AOP.Cecil.Extensions.MethodRewriterExtensions.WeaveWith(Mono.Cecil.IReflectionStructureVisitable,LinFu.AOP.Cecil.Interfaces.IMethodRewriter,System.Func{Mono.Cecil.MethodReference,System.Boolean})">
  1689. <summary>
  1690. Transforms the methods in the <paramref name="target" /> using the given method rewriter.
  1691. </summary>
  1692. <param name="target">The transformation target.</param>
  1693. <param name="rewriter">The method rewriter.</param>
  1694. <param name="filter">The method filter that determines which methods will be rewritten.</param>
  1695. </member>
  1696. <member name="M:LinFu.AOP.Cecil.Extensions.MethodRewriterExtensions.WeaveWith(Mono.Cecil.IReflectionVisitable,LinFu.AOP.Cecil.Interfaces.IMethodRewriter,System.Func{Mono.Cecil.MethodReference,System.Boolean})">
  1697. <summary>
  1698. Transforms the methods in the <paramref name="target" /> using the given method rewriter.
  1699. </summary>
  1700. <param name="target">The transformation target.</param>
  1701. <param name="rewriter">The method rewriter.</param>
  1702. <param name="filter">The method filter that determines which methods will be rewritten.</param>
  1703. </member>
  1704. <member name="T:LinFu.AOP.Cecil.MethodWeaver">
  1705. <summary>
  1706. Represents the default implementation of the <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodWeaver" /> interface.
  1707. </summary>
  1708. </member>
  1709. <member name="M:LinFu.AOP.Cecil.MethodWeaver.#ctor(LinFu.AOP.Cecil.Interfaces.IMethodRewriter,System.Func{Mono.Cecil.MethodReference,System.Boolean})">
  1710. <summary>
  1711. Initializes a new instance of the MethodWeaver class.
  1712. </summary>
  1713. <param name="rewriter">The <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodRewriter" /> instance that will modify the existing method.</param>
  1714. <param name="filter">The filter that determines which methods should be modified.</param>
  1715. </member>
  1716. <member name="M:LinFu.AOP.Cecil.MethodWeaver.#ctor(LinFu.AOP.Cecil.Interfaces.IMethodRewriter,LinFu.AOP.Cecil.Interfaces.IInstructionProvider,System.Func{Mono.Cecil.MethodReference,System.Boolean})">
  1717. <summary>
  1718. Initializes a new instance of the MethodWeaver class.
  1719. </summary>
  1720. <param name="rewriter">The <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodRewriter" /> instance that will modify the existing method.</param>
  1721. <param name="instructionProvider">The provider that will obtain the original instructions for the target method.</param>
  1722. <param name="filter">The filter that determines which methods should be modified.</param>
  1723. </member>
  1724. <member name="M:LinFu.AOP.Cecil.MethodWeaver.ShouldWeave(Mono.Cecil.MethodDefinition)">
  1725. <summary>
  1726. Determines whether or not a method should be modified.
  1727. </summary>
  1728. <param name="item">The target method.</param>
  1729. <returns>
  1730. <c>true</c> if the method should be modified; otherwise, it returns <c>false</c>.</returns>
  1731. </member>
  1732. <member name="M:LinFu.AOP.Cecil.MethodWeaver.Weave(Mono.Cecil.MethodDefinition)">
  1733. <summary>
  1734. Modifies a target method.
  1735. </summary>
  1736. <param name="method">The target method.</param>
  1737. </member>
  1738. <member name="M:LinFu.AOP.Cecil.MethodWeaver.AddAdditionalMembers(Mono.Cecil.TypeDefinition)">
  1739. <summary>
  1740. Adds additional members to the target type.
  1741. </summary>
  1742. <param name="host">The target type to be modified.</param>
  1743. </member>
  1744. <member name="M:LinFu.AOP.Cecil.MethodWeaver.ImportReferences(Mono.Cecil.ModuleDefinition)">
  1745. <summary>
  1746. Imports additional references into the given module.
  1747. </summary>
  1748. <param name="module">The module that will store the additional references.</param>
  1749. </member>
  1750. <member name="M:LinFu.AOP.Cecil.MethodWeaver.Rewrite(Mono.Cecil.MethodDefinition)">
  1751. <summary>
  1752. Rewrites an existing method.
  1753. </summary>
  1754. <param name="method">The method that needs to be modified.</param>
  1755. </member>
  1756. <member name="T:LinFu.AOP.Cecil.MethodWeaverVisitor">
  1757. <summary>
  1758. Represents a visitor class that can iterate over <see cref="T:Mono.Cecil.MethodDefinition" />
  1759. instances.
  1760. </summary>
  1761. </member>
  1762. <member name="M:LinFu.AOP.Cecil.MethodWeaverVisitor.#ctor(LinFu.AOP.Cecil.Interfaces.IMethodWeaver)">
  1763. <summary>
  1764. Initializes a new instance of the MethodWeaverVisitor class.
  1765. </summary>
  1766. <param name="methodWeaver">The <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodWeaver" /> that will be used to modify a given type.</param>
  1767. </member>
  1768. <member name="M:LinFu.AOP.Cecil.MethodWeaverVisitor.VisitConstructor(Mono.Cecil.MethodDefinition)">
  1769. <summary>
  1770. Visits a <see cref="T:Mono.Cecil.MethodDefinition" /> instance.
  1771. </summary>
  1772. <param name="ctor">The <see cref="T:Mono.Cecil.MethodDefinition" /> instance that will be modified.</param>
  1773. </member>
  1774. <member name="M:LinFu.AOP.Cecil.MethodWeaverVisitor.VisitMethodDefinition(Mono.Cecil.MethodDefinition)">
  1775. <summary>
  1776. Visits a <see cref="T:Mono.Cecil.MethodDefinition" /> instance.
  1777. </summary>
  1778. <param name="method">The <see cref="T:Mono.Cecil.MethodDefinition" /> instance that will be modified.</param>
  1779. </member>
  1780. <member name="M:LinFu.AOP.Cecil.MethodWeaverVisitor.VisitModuleDefinition(Mono.Cecil.ModuleDefinition)">
  1781. <summary>
  1782. Visits a <see cref="T:Mono.Cecil.ModuleDefinition" /> instance.
  1783. </summary>
  1784. <param name="module">A <see cref="T:Mono.Cecil.ModuleDefinition" /> object.</param>
  1785. </member>
  1786. <member name="M:LinFu.AOP.Cecil.MethodWeaverVisitor.VisitTypeDefinition(Mono.Cecil.TypeDefinition)">
  1787. <summary>
  1788. Visits a <see cref="T:Mono.Cecil.TypeDefinition" /> instance.
  1789. </summary>
  1790. <param name="type">A <see cref="T:Mono.Cecil.TypeDefinition" /> object.</param>
  1791. </member>
  1792. <member name="T:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions">
  1793. <summary>
  1794. An extension class that adds support for intercepting the 'new' operator with LinFu.AOP.
  1795. </summary>
  1796. </member>
  1797. <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptAllNewInstances(Mono.Cecil.IReflectionStructureVisitable)">
  1798. <summary>
  1799. Modifies a <paramref name="target" /> to support intercepting all calls to the 'new' operator.
  1800. </summary>
  1801. <param name="target">The assembly to be modified.</param>
  1802. </member>
  1803. <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptAllNewInstances(Mono.Cecil.IReflectionVisitable)">
  1804. <summary>
  1805. Modifies a <paramref name="target" /> to support intercepting all calls to the 'new' operator.
  1806. </summary>
  1807. <param name="target">The assembly to be modified.</param>
  1808. </member>
  1809. <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptNewInstances(Mono.Cecil.IReflectionVisitable,System.Func{Mono.Cecil.TypeReference,System.Boolean},System.Func{Mono.Cecil.MethodReference,System.Boolean})">
  1810. <summary>
  1811. Modifies a <paramref name="target" /> to support intercepting calls to the 'new' operator.
  1812. </summary>
  1813. <param name="target">The assembly to be modified.</param>
  1814. <param name="typeFilter">The functor that determines which type instantiations should be intercepted.</param>
  1815. <param name="methodFilter">The filter that determines which host methods will be modified</param>
  1816. <remarks>
  1817. The type filter determines the concrete types that should be intercepted at runtime.
  1818. For example, the following functor code intercepts types named "Foo":
  1819. <code>
  1820. Func&lt;TypeReference, bool&gt; filter =
  1821. concreteType =&gt; concreteType.Name == "Foo";
  1822. </code></remarks>
  1823. </member>
  1824. <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptNewInstances(Mono.Cecil.IReflectionStructureVisitable,System.Func{Mono.Cecil.MethodReference,Mono.Cecil.TypeReference,System.Boolean},System.Func{Mono.Cecil.MethodReference,System.Boolean})">
  1825. <summary>
  1826. Modifies a <paramref name="target" /> assembly to support intercepting calls to the 'new' operator.
  1827. </summary>
  1828. <param name="target">The assembly to be modified.</param>
  1829. <param name="constructorFilter">The functor that determines which type instantiations should be intercepted.</param>
  1830. <param name="methodFilter">The filter that determines which host methods will be modified</param>
  1831. <remarks>
  1832. The type filter determines which concrete types and constructors should be intercepted at runtime.
  1833. For example, the following functor code intercepts types named "Foo":
  1834. <code>
  1835. Func&lt;MethodReference, TypeReference, bool&gt; filter =
  1836. (constructor, concreteType, hostMethod) =&gt; concreteType.Name == "Foo";
  1837. </code></remarks>
  1838. </member>
  1839. <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptNewInstances(Mono.Cecil.IReflectionStructureVisitable,System.Func{Mono.Cecil.TypeReference,System.Boolean})">
  1840. <summary>
  1841. Modifies a <paramref name="target" /> assembly to support intercepting calls to the 'new' operator.
  1842. </summary>
  1843. <param name="target">The assembly to be modified.</param>
  1844. <param name="typeFilter">The functor that determines which type instantiations should be intercepted.</param>
  1845. <remarks>
  1846. The type filter determines the concrete types that should be intercepted at runtime.
  1847. For example, the following functor code intercepts types named "Foo":
  1848. <code>
  1849. Func&lt;TypeReference, bool&gt; filter =
  1850. concreteType =&gt; concreteType.Name == "Foo";
  1851. </code></remarks>
  1852. </member>
  1853. <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptNewInstances(Mono.Cecil.IReflectionVisitable,System.Func{Mono.Cecil.TypeReference,System.Boolean})">
  1854. <summary>
  1855. Modifies a <paramref name="target" /> assembly to support intercepting calls to the 'new' operator.
  1856. </summary>
  1857. <param name="target">The assembly to be modified.</param>
  1858. <param name="typeFilter">The functor that determines which type instantiations should be intercepted.</param>
  1859. <remarks>
  1860. The type filter determines the concrete types that should be intercepted at runtime.
  1861. For example, the following functor code intercepts types named "Foo":
  1862. <code>
  1863. Func&lt;TypeReference, bool&gt; filter =
  1864. concreteType =&gt; concreteType.Name == "Foo";
  1865. </code></remarks>
  1866. </member>
  1867. <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptNewInstances(Mono.Cecil.IReflectionStructureVisitable,System.Func{Mono.Cecil.TypeReference,System.Boolean},System.Func{Mono.Cecil.MethodReference,System.Boolean})">
  1868. <summary>
  1869. Modifies the <paramref name="target" /> to support intercepting calls to the 'new' operator.
  1870. </summary>
  1871. <param name="target">The item to be modified.</param>
  1872. <param name="methodFilter">The filter that determines which host methods will be modified</param>
  1873. <param name="typeFilter">The filter that determines which types will be modified.</param>
  1874. <remarks>
  1875. The type filter determines which concrete types and constructors should be intercepted at runtime.
  1876. For example, the following functor code intercepts types named "Foo":
  1877. <code>
  1878. Func&lt;MethodReference, TypeReference, bool&gt; filter =
  1879. (constructor, concreteType, hostMethod) =&gt; concreteType.Name == "Foo";
  1880. </code></remarks>
  1881. </member>
  1882. <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptNewInstances(Mono.Cecil.IReflectionVisitable,System.Func{Mono.Cecil.MethodReference,Mono.Cecil.TypeReference,System.Boolean},System.Func{Mono.Cecil.MethodReference,System.Boolean})">
  1883. <summary>
  1884. Modifies the <paramref name="target" /> to support intercepting calls to the 'new' operator.
  1885. </summary>
  1886. <param name="target">The item to be modified.</param>
  1887. <param name="constructorFilter">The functor that determines which type instantiations should be intercepted.</param>
  1888. <param name="methodFilter">The filter that determines which host methods will be modified</param>
  1889. <remarks>
  1890. The type filter determines which concrete types and constructors should be intercepted at runtime.
  1891. For example, the following functor code intercepts types named "Foo":
  1892. <code>
  1893. Func&lt;MethodReference, TypeReference, bool&gt; filter =
  1894. (constructor, concreteType, hostMethod) =&gt; concreteType.Name == "Foo";
  1895. </code></remarks>
  1896. </member>
  1897. <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptNewInstances(Mono.Cecil.IReflectionStructureVisitable,LinFu.AOP.Cecil.Interfaces.INewInstanceFilter,LinFu.AOP.Cecil.Interfaces.IMethodFilter)">
  1898. <summary>
  1899. Modifies the <paramref name="target" /> to support intercepting calls to the 'new' operator.
  1900. </summary>
  1901. <param name="target">The item to be modified.</param>
  1902. <param name="newInstanceFilter">The filter that will determine which constructor calls should be intercepted.</param>
  1903. <param name="methodFilter">The filter that will determine which host methods should be modified to support new instance interception.</param>
  1904. </member>
  1905. <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptNewInstances(Mono.Cecil.IReflectionVisitable,LinFu.AOP.Cecil.Interfaces.INewInstanceFilter,LinFu.AOP.Cecil.Interfaces.IMethodFilter)">
  1906. <summary>
  1907. Modifies the <paramref name="target" /> to support intercepting calls to the 'new' operator.
  1908. </summary>
  1909. <param name="target">The item to be modified.</param>
  1910. <param name="newInstanceFilter">The filter that will determine which constructor calls should be intercepted.</param>
  1911. <param name="methodFilter">The filter that will determine which host methods should be modified to support new instance interception.</param>
  1912. </member>
  1913. <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptNewInstancesWith(Mono.Cecil.IReflectionStructureVisitable,LinFu.AOP.Cecil.Interfaces.INewObjectWeaver,System.Func{Mono.Cecil.MethodReference,System.Boolean})">
  1914. <summary>
  1915. Modifies the methods in the given <paramref name="target" /> using the custom <see cref="T:LinFu.AOP.Cecil.Interfaces.INewObjectWeaver" /> instance.
  1916. </summary>
  1917. <param name="target">The host that contains the methods that will be modified.</param>
  1918. <param name="weaver">The custom <see cref="T:LinFu.AOP.Cecil.Interfaces.INewObjectWeaver" /> that will replace all calls to the new operator with the custom code emitted by the given weaver.</param>
  1919. <param name="filter">The method filter that will determine which methods should be modified.</param>
  1920. </member>
  1921. <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptNewInstancesWith(Mono.Cecil.IReflectionVisitable,LinFu.AOP.Cecil.Interfaces.INewObjectWeaver,System.Func{Mono.Cecil.MethodReference,System.Boolean})">
  1922. <summary>
  1923. Modifies the methods in the given <paramref name="target" /> using the custom <see cref="T:LinFu.AOP.Cecil.Interfaces.INewObjectWeaver" /> instance.
  1924. </summary>
  1925. <param name="target">The host that contains the methods that will be modified.</param>
  1926. <param name="weaver">The custom <see cref="T:LinFu.AOP.Cecil.Interfaces.INewObjectWeaver" /> that will replace all calls to the new operator with the custom code emitted by the given weaver.</param>
  1927. <param name="filter">The method filter that will determine which methods should be modified.</param>
  1928. </member>
  1929. <member name="T:LinFu.AOP.Cecil.SaveReturnValue">
  1930. <summary>
  1931. Represents an instruction emitter that saves the return value from a given method call.
  1932. </summary>
  1933. </member>
  1934. <member name="M:LinFu.AOP.Cecil.SaveReturnValue.#ctor(Mono.Cecil.TypeReference,Mono.Cecil.Cil.VariableDefinition)">
  1935. <summary>
  1936. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.SaveReturnValue" /> class.
  1937. </summary>
  1938. <param name="returnType">The return type.</param>
  1939. <param name="returnValue">The return value.</param>
  1940. </member>
  1941. <member name="M:LinFu.AOP.Cecil.SaveReturnValue.Emit(Mono.Cecil.Cil.CilWorker)">
  1942. <summary>
  1943. Saves the return value from a given method call.
  1944. </summary>
  1945. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> pointing to the target method body.</param>
  1946. </member>
  1947. <member name="T:LinFu.AOP.Cecil.SurroundMethodBody">
  1948. <summary>
  1949. Represents a class that surrounds a call site with calls to an <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.
  1950. </summary>
  1951. </member>
  1952. <member name="M:LinFu.AOP.Cecil.SurroundMethodBody.#ctor(LinFu.AOP.Cecil.IMethodBodyRewriterParameters,System.String)">
  1953. <summary>
  1954. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.IMethodBodyRewriterParameters" /> class.
  1955. </summary>
  1956. <param name="parameters">The parameters that describe the context of the emitter call.</param>
  1957. <param name="providerName">The name of the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> property.</param>
  1958. </member>
  1959. <member name="M:LinFu.AOP.Cecil.SurroundMethodBody.#ctor(Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,System.Type,System.String)">
  1960. <summary>
  1961. Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.IMethodBodyRewriterParameters" /> class.
  1962. </summary>
  1963. <param name="methodReplacementProvider">The variable that contains the <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.</param>
  1964. <param name="aroundInvokeProvider">The variable that contains the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance</param>
  1965. <param name="invocationInfo">The variable that contains the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
  1966. <param name="interceptionDisabled">The variable that determines whether or not interception is disabled</param>
  1967. <param name="returnValue">The variable that contains the method return value.</param>
  1968. <param name="registryType">The interception registry type that will be responsible for handling class-level interception events.</param>
  1969. <param name="providerName">The name of the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> property.</param>
  1970. </member>
  1971. <member name="M:LinFu.AOP.Cecil.SurroundMethodBody.AddProlog(Mono.Cecil.Cil.CilWorker)">
  1972. <summary>
  1973. Adds a prolog to the given method body.
  1974. </summary>
  1975. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that points to the given method body.</param>
  1976. </member>
  1977. <member name="M:LinFu.AOP.Cecil.SurroundMethodBody.AddEpilog(Mono.Cecil.Cil.CilWorker)">
  1978. <summary>
  1979. Adds an epilog to the given method body.
  1980. </summary>
  1981. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that points to the given method body.</param>
  1982. </member>
  1983. <member name="T:LinFu.AOP.Cecil.Extensions.TypeDefinitionExtensions">
  1984. <summary>
  1985. Adds helper methods to the <see cref="T:Mono.Cecil.TypeDefinition" /> class.
  1986. </summary>
  1987. </member>
  1988. <member name="M:LinFu.AOP.Cecil.Extensions.TypeDefinitionExtensions.WeaveWith(Mono.Cecil.TypeDefinition,LinFu.AOP.Cecil.Interfaces.IMethodWeaver)">
  1989. <summary>
  1990. Applies a <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodWeaver" /> instance to all methods
  1991. within the given <paramref name="targetType" />.
  1992. </summary>
  1993. <param name="targetType">The target module.</param>
  1994. <param name="weaver">The <see cref="T:LinFu.AOP.Cecil.Interfaces.ITypeWeaver" /> instance that will modify the methods in the given target type.</param>
  1995. </member>
  1996. <member name="T:LinFu.AOP.Cecil.TypeWeaverVisitor">
  1997. <summary>
  1998. Represents a visitor class that can iterate over <see cref="T:Mono.Cecil.TypeDefinition" />
  1999. instances.
  2000. </summary>
  2001. </member>
  2002. <member name="M:LinFu.AOP.Cecil.TypeWeaverVisitor.#ctor(LinFu.AOP.Cecil.Interfaces.ITypeWeaver)">
  2003. <summary>
  2004. Initializes a new instance of the TypeWeaverVisitor class.
  2005. </summary>
  2006. <param name="weaver">The <see cref="T:LinFu.AOP.Cecil.Interfaces.ITypeWeaver" /> that will be used to modify a given type.</param>
  2007. </member>
  2008. <member name="M:LinFu.AOP.Cecil.TypeWeaverVisitor.VisitTypeDefinition(Mono.Cecil.TypeDefinition)">
  2009. <summary>
  2010. Visits a <see cref="T:Mono.Cecil.TypeDefinition" /> instance.
  2011. </summary>
  2012. <param name="type">A <see cref="T:Mono.Cecil.TypeDefinition" /> object.</param>
  2013. </member>
  2014. <member name="T:LinFu.AOP.Interfaces.IFieldInterceptor">
  2015. <summary>
  2016. Represents a type that can intercept field getter and setter calls.
  2017. </summary>
  2018. </member>
  2019. <member name="M:LinFu.AOP.Interfaces.IFieldInterceptor.CanIntercept(LinFu.AOP.Interfaces.IFieldInterceptionContext)">
  2020. <summary>
  2021. Determines whether or not a field can be intercepted.
  2022. </summary>
  2023. <param name="context">The context that describes the field to be intercepted.</param>
  2024. <returns>
  2025. <c>true</c> if it can be intercepted; otherwise, it will return <c>false</c>.</returns>
  2026. </member>
  2027. <member name="M:LinFu.AOP.Interfaces.IFieldInterceptor.GetValue(LinFu.AOP.Interfaces.IFieldInterceptionContext)">
  2028. <summary>
  2029. Gets the value of a field.
  2030. </summary>
  2031. <param name="context">The context that describes the field to be intercepted.</param>
  2032. <returns>The value of the target field.</returns>
  2033. </member>
  2034. <member name="M:LinFu.AOP.Interfaces.IFieldInterceptor.SetValue(LinFu.AOP.Interfaces.IFieldInterceptionContext,System.Object)">
  2035. <summary>
  2036. Sets the value of a field.
  2037. </summary>
  2038. <param name="context">The context that describes the field to be intercepted.</param>
  2039. <param name="value">The original value that will be assigned to the target field.</param>
  2040. <returns>The value that will be assigned to the target field.</returns>
  2041. </member>
  2042. <member name="T:LinFu.AOP.Interfaces.IAroundInvokeHost">
  2043. <summary>
  2044. Represents a type that supports injecting code around a method body or method call.
  2045. </summary>
  2046. </member>
  2047. <member name="P:LinFu.AOP.Interfaces.IAroundInvokeHost.AroundMethodBodyProvider">
  2048. <summary>
  2049. Gets or sets the value indicating the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" />
  2050. that will be used to inject code "around" a particular method body
  2051. implementation.
  2052. </summary>
  2053. </member>
  2054. <member name="P:LinFu.AOP.Interfaces.IAroundInvokeHost.AroundMethodCallProvider">
  2055. <summary>
  2056. Gets or sets the value indicating the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" />
  2057. that will be used to inject code "around" a particular method call
  2058. implementation.
  2059. </summary>
  2060. </member>
  2061. <member name="T:LinFu.AOP.Interfaces.IBeforeInvoke">
  2062. <summary>
  2063. Represents a class that is invoked before a method call.
  2064. </summary>
  2065. </member>
  2066. <member name="M:LinFu.AOP.Interfaces.IBeforeInvoke.BeforeInvoke(LinFu.AOP.Interfaces.IInvocationInfo)">
  2067. <summary>
  2068. This method will be called just before the actual
  2069. method call is executed.
  2070. </summary>
  2071. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> associated with the method call.</param>
  2072. <seealso cref="T:LinFu.AOP.Interfaces.IInvocationInfo" />
  2073. </member>
  2074. <member name="T:LinFu.AOP.Interfaces.IAfterInvoke">
  2075. <summary>
  2076. Represents a class that is invoked after a method call.
  2077. </summary>
  2078. </member>
  2079. <member name="M:LinFu.AOP.Interfaces.IAfterInvoke.AfterInvoke(LinFu.AOP.Interfaces.IInvocationInfo,System.Object)">
  2080. <summary>
  2081. This method will be called immediately after the actual
  2082. method call is executed.
  2083. </summary>
  2084. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> associated with the method call.</param>
  2085. <param name="returnValue">The value returned from the actual method call.</param>
  2086. </member>
  2087. <member name="T:LinFu.AOP.Interfaces.IAroundInvoke">
  2088. <summary>
  2089. Represents a class that can wrap itself around any given method call.
  2090. </summary>
  2091. </member>
  2092. <member name="T:LinFu.AOP.Interfaces.AroundInvokeMethodCallRegistry">
  2093. <summary>
  2094. Represents a registry class that handles all class-level method call interception operations for all modified types.
  2095. </summary>
  2096. </member>
  2097. <member name="M:LinFu.AOP.Interfaces.AroundInvokeMethodCallRegistry.GetSurroundingImplementation(LinFu.AOP.Interfaces.IInvocationInfo)">
  2098. <summary>
  2099. Obtains the <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance for the given <paramref name="context" />.
  2100. </summary>
  2101. <param name="context">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the current method call.</param>
  2102. <returns>An <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance that will be used to wrap a method call or method body.</returns>
  2103. </member>
  2104. <member name="M:LinFu.AOP.Interfaces.AroundInvokeMethodCallRegistry.AddProvider(LinFu.AOP.Interfaces.IAroundInvokeProvider)">
  2105. <summary>
  2106. Adds an <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> to the list of provider instances.
  2107. </summary>
  2108. <param name="provider">The <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance.</param>
  2109. </member>
  2110. <member name="M:LinFu.AOP.Interfaces.AroundInvokeMethodCallRegistry.Clear">
  2111. <summary>
  2112. Clears the list of <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instances.
  2113. </summary>
  2114. </member>
  2115. <member name="T:LinFu.AOP.Interfaces.ActivatorExtensions">
  2116. <summary>
  2117. An extension class that adds helper methods to the <see cref="T:LinFu.AOP.Interfaces.IActivator`1" /> interface.
  2118. </summary>
  2119. </member>
  2120. <member name="M:LinFu.AOP.Interfaces.ActivatorExtensions.CreateInstance(LinFu.AOP.Interfaces.IActivator{LinFu.AOP.Interfaces.IActivationContext},System.Type,System.Object[])">
  2121. <summary>
  2122. Instantiates the <paramref name="targetType" /> with the given <paramref name="activator" /> and <paramref name="constructorArguments" />.
  2123. </summary>
  2124. <param name="activator">The <see cref="T:LinFu.AOP.Interfaces.IActivator`1" /> instance that will be responsible for creating the <paramref name="targetType" />.</param>
  2125. <param name="targetType">The type to be created.</param>
  2126. <param name="constructorArguments">The arguments that will be passed to the constructor.</param>
  2127. <returns>An object reference that matches the given <paramref name="targetType" />.</returns>
  2128. </member>
  2129. <member name="M:LinFu.AOP.Interfaces.ActivatorExtensions.CreateInstance``1(LinFu.AOP.Interfaces.IActivator{LinFu.AOP.Interfaces.IActivationContext},System.Object[])">
  2130. <summary>
  2131. Instantiates the <paramref name="targetType" /> with the given <paramref name="activator" /> and <paramref name="constructorArguments" />.
  2132. </summary>
  2133. <param name="activator">The <see cref="T:LinFu.AOP.Interfaces.IActivator`1" /> instance that will be responsible for creating the target type.</param>
  2134. <param name="constructorArguments">The arguments that will be passed to the constructor.</param>
  2135. <typeparam name="T">The target type that will be instantiated by the activator.</typeparam>
  2136. <returns>An object reference that matches the given <paramref name="targetType" />.</returns>
  2137. </member>
  2138. <member name="T:LinFu.AOP.Interfaces.IInvocationInfo">
  2139. <summary>
  2140. Represents the information associated with
  2141. a single method call.
  2142. </summary>
  2143. </member>
  2144. <member name="P:LinFu.AOP.Interfaces.IInvocationInfo.Target">
  2145. <summary>
  2146. The target instance currently being called.
  2147. </summary>
  2148. <remarks>This typically is a reference to a proxy object.</remarks>
  2149. </member>
  2150. <member name="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod">
  2151. <summary>
  2152. The method currently being called.
  2153. </summary>
  2154. </member>
  2155. <member name="P:LinFu.AOP.Interfaces.IInvocationInfo.ReturnType">
  2156. <summary>
  2157. The return type of the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod" />.
  2158. </summary>
  2159. </member>
  2160. <member name="P:LinFu.AOP.Interfaces.IInvocationInfo.StackTrace">
  2161. <summary>
  2162. The <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.StackTrace" /> associated
  2163. with the method call when the call was made.
  2164. </summary>
  2165. </member>
  2166. <member name="P:LinFu.AOP.Interfaces.IInvocationInfo.ParameterTypes">
  2167. <summary>
  2168. The parameter types for the current target method.
  2169. </summary>
  2170. <remarks>
  2171. <para>
  2172. This could be very useful in cases where the actual target method
  2173. is based on a generic type definition. In such cases,
  2174. the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance needs to be able
  2175. to describe the actual parameter types being used by the
  2176. current generic type instantiation. This property helps
  2177. users determine which parameter types are actually being used
  2178. at the time of the method call.
  2179. </para>
  2180. </remarks>
  2181. </member>
  2182. <member name="P:LinFu.AOP.Interfaces.IInvocationInfo.TypeArguments">
  2183. <summary>
  2184. If the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod" /> method is a generic method,
  2185. this will hold the generic type arguments used to construct the
  2186. method.
  2187. </summary>
  2188. </member>
  2189. <member name="P:LinFu.AOP.Interfaces.IInvocationInfo.Arguments">
  2190. <summary>
  2191. The arguments used in the method call.
  2192. </summary>
  2193. </member>
  2194. <member name="T:LinFu.AOP.Interfaces.BootStrapRegistry">
  2195. <summary>
  2196. Represents a registry class that bootstraps components into memory when the application starts.
  2197. </summary>
  2198. </member>
  2199. <member name="M:LinFu.AOP.Interfaces.BootStrapRegistry.Initialize">
  2200. <summary>
  2201. Initializes the BootStrapRegistry.
  2202. </summary>
  2203. </member>
  2204. <member name="M:LinFu.AOP.Interfaces.BootStrapRegistry.GetComponents">
  2205. <summary>
  2206. Returns the list of components that have been initialized by the bootstrapper.
  2207. </summary>
  2208. <returns>
  2209. </returns>
  2210. </member>
  2211. <member name="P:LinFu.AOP.Interfaces.BootStrapRegistry.Instance">
  2212. <summary>
  2213. Gets the value indicating the BootStrapRegistry instance.
  2214. </summary>
  2215. </member>
  2216. <member name="T:LinFu.AOP.Interfaces.MethodBodyReplacementProviderRegistry">
  2217. <summary>
  2218. Represents a static type that allows users to register a method replacement provider from a single location.
  2219. </summary>
  2220. </member>
  2221. <member name="M:LinFu.AOP.Interfaces.MethodBodyReplacementProviderRegistry.GetProvider(System.Object,LinFu.AOP.Interfaces.IInvocationInfo)">
  2222. <summary>
  2223. Returns the provider that is currently attached to the registry.
  2224. </summary>
  2225. <param name="host">The type that is currently being intercepted.</param>
  2226. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> object that describes the invocation context.</param>
  2227. <returns>A <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> that will determine the code that will be executed once a target method is called.</returns>
  2228. </member>
  2229. <member name="M:LinFu.AOP.Interfaces.MethodBodyReplacementProviderRegistry.SetProvider(LinFu.AOP.Interfaces.IMethodReplacementProvider)">
  2230. <summary>
  2231. Assigns the <paramref name="provider" /> to the MethodReplacementProvider registry.
  2232. </summary>
  2233. <returns>A <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> that will determine the code that will be executed once a target method is called.</returns>
  2234. </member>
  2235. <member name="T:LinFu.AOP.Interfaces.IMethodReplacementHost">
  2236. <summary>
  2237. Represents a type that can have its method body implementations replaced at runtime.
  2238. </summary>
  2239. </member>
  2240. <member name="P:LinFu.AOP.Interfaces.IMethodReplacementHost.MethodBodyReplacementProvider">
  2241. <summary>
  2242. Gets or sets a value indicating the <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> that will be used to swap method body implementations at runtime.
  2243. </summary>
  2244. </member>
  2245. <member name="P:LinFu.AOP.Interfaces.IMethodReplacementHost.MethodCallReplacementProvider">
  2246. <summary>
  2247. Gets or sets a value indicating the <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> that will be used to swap method body implementations at runtime.
  2248. </summary>
  2249. </member>
  2250. <member name="T:LinFu.AOP.Interfaces.IExceptionHandlerInfo">
  2251. <summary>
  2252. Represents a type that describes the context of a thrown exception.
  2253. </summary>
  2254. </member>
  2255. <member name="P:LinFu.AOP.Interfaces.IExceptionHandlerInfo.Exception">
  2256. <summary>
  2257. Gets the value indicating the thrown exception.
  2258. </summary>
  2259. <value>The thrown exception.</value>
  2260. </member>
  2261. <member name="P:LinFu.AOP.Interfaces.IExceptionHandlerInfo.InvocationInfo">
  2262. <summary>
  2263. Gets the value indicating the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the context of the method
  2264. that threw the exception.
  2265. </summary>
  2266. <value>The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</value>
  2267. </member>
  2268. <member name="P:LinFu.AOP.Interfaces.IExceptionHandlerInfo.ReturnValue">
  2269. <summary>
  2270. Gets or sets the value indicating the return value that will be used in place of the original return value if
  2271. the exception is intercepted by an <see cref="T:LinFu.AOP.Interfaces.IExceptionHandler" /> instance.
  2272. </summary>
  2273. <value>The method return value.</value>
  2274. </member>
  2275. <member name="P:LinFu.AOP.Interfaces.IExceptionHandlerInfo.ShouldSkipRethrow">
  2276. <summary>
  2277. Gets or sets the value indicating whether or not the exception should be rethrown after
  2278. the <see cref="T:LinFu.AOP.Interfaces.IExceptionHandler" /> handles the given exception.
  2279. </summary>
  2280. <value>This should be <c>true</c> if the exception should be rethrown, otherwise, it must be <c>false</c>.</value>
  2281. </member>
  2282. <member name="T:LinFu.AOP.Interfaces.IExceptionHandler">
  2283. <summary>
  2284. Represents a type that can catch thrown exceptions.
  2285. </summary>
  2286. </member>
  2287. <member name="M:LinFu.AOP.Interfaces.IExceptionHandler.CanCatch(LinFu.AOP.Interfaces.IExceptionHandlerInfo)">
  2288. <summary>
  2289. Determines whether or not an exception can be handled.
  2290. </summary>
  2291. <param name="exceptionHandlerInfo">The object that describes the exception being thrown.</param>
  2292. <returns>
  2293. <c>True</c> if the exception can be handled by the current handler.</returns>
  2294. </member>
  2295. <member name="M:LinFu.AOP.Interfaces.IExceptionHandler.Catch(LinFu.AOP.Interfaces.IExceptionHandlerInfo)">
  2296. <summary>
  2297. Handles the exception specified in the <paramref name="exceptionHandlerInfo" /> instance.
  2298. </summary>
  2299. <param name="exceptionHandlerInfo">The object that describes the exception being thrown.</param>
  2300. </member>
  2301. <member name="T:LinFu.AOP.Interfaces.FieldInterceptorRegistry">
  2302. <summary>
  2303. Represents a registry class that allows users to intercept fields from a single location.
  2304. </summary>
  2305. </member>
  2306. <member name="M:LinFu.AOP.Interfaces.FieldInterceptorRegistry.GetInterceptor(LinFu.AOP.Interfaces.IFieldInterceptionContext)">
  2307. <summary>
  2308. Gets current the <see cref="T:LinFu.AOP.Interfaces.IFieldInterceptionContext" /> associated with the <see cref="T:LinFu.AOP.Interfaces.FieldInterceptorRegistry" />.
  2309. </summary>
  2310. <param name="context">The <see cref="T:LinFu.AOP.Interfaces.IFieldInterceptionContext" /> instance that describes the state of the method call when the field getter or setter is called.</param>
  2311. <returns>The field interceptor that will be used to preempt field getter and setter calls.</returns>
  2312. </member>
  2313. <member name="M:LinFu.AOP.Interfaces.FieldInterceptorRegistry.SetInterceptor(LinFu.AOP.Interfaces.IFieldInterceptor)">
  2314. <summary>
  2315. Sets current the <see cref="T:LinFu.AOP.Interfaces.IFieldInterceptionContext" /> that will be associated with the <see cref="T:LinFu.AOP.Interfaces.FieldInterceptorRegistry" />.
  2316. </summary>
  2317. <param name="interceptor">The field interceptor that will be used to preempt field getter and setter calls.</param>
  2318. </member>
  2319. <member name="T:LinFu.AOP.Interfaces.ExceptionHandlerRegistry">
  2320. <summary>
  2321. Represents a class that stores <see cref="T:LinFu.AOP.Interfaces.IExceptionHandler" /> instances in a central location.
  2322. </summary>
  2323. </member>
  2324. <member name="M:LinFu.AOP.Interfaces.ExceptionHandlerRegistry.GetHandler(LinFu.AOP.Interfaces.IExceptionHandlerInfo)">
  2325. <summary>
  2326. Gets the <see cref="T:LinFu.AOP.Interfaces.IExceptionHandler" /> instance that can handle the current exception.
  2327. </summary>
  2328. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IExceptionHandlerInfo" /> instance that describes the context of the thrown exception.</param>
  2329. <returns>An exception handler.</returns>
  2330. </member>
  2331. <member name="M:LinFu.AOP.Interfaces.ExceptionHandlerRegistry.SetHandler(LinFu.AOP.Interfaces.IExceptionHandler)">
  2332. <summary>
  2333. Sets the <see cref="T:LinFu.AOP.Interfaces.IExceptionHandler" /> instance that can handle all thrown exceptions.
  2334. </summary>
  2335. <param name="handler">The exception handler.</param>
  2336. </member>
  2337. <member name="T:LinFu.AOP.Interfaces.BootstrapException">
  2338. <summary>
  2339. Represents an exception thrown when LinFu.AOP is unable to bootstrap itself.
  2340. </summary>
  2341. </member>
  2342. <member name="M:LinFu.AOP.Interfaces.BootstrapException.#ctor(System.String,System.Exception)">
  2343. <summary>
  2344. Initializes a new instance of the <see cref="T:LinFu.AOP.Interfaces.BootstrapException" /> class.
  2345. </summary>
  2346. <param name="message">The exception message.</param>
  2347. <param name="ex">The exception itself.</param>
  2348. </member>
  2349. <member name="T:LinFu.AOP.Interfaces.TypeActivatorRegistry">
  2350. <summary>
  2351. Represents a registry that allows users to statically register <see cref="T:LinFu.AOP.Interfaces.ITypeActivator" />
  2352. instances.
  2353. </summary>
  2354. </member>
  2355. <member name="M:LinFu.AOP.Interfaces.TypeActivatorRegistry.GetActivator(LinFu.AOP.Interfaces.ITypeActivationContext)">
  2356. <summary>
  2357. Obtains an activator for the given <paramref name="context" />.
  2358. </summary>
  2359. <param name="context">The <see cref="T:LinFu.AOP.Interfaces.ITypeActivationContext" /> instance that describes the object to be created.</param>
  2360. <returns>A method activator.</returns>
  2361. </member>
  2362. <member name="M:LinFu.AOP.Interfaces.TypeActivatorRegistry.SetActivator(LinFu.AOP.Interfaces.ITypeActivator)">
  2363. <summary>
  2364. Sets the <see cref="T:LinFu.AOP.Interfaces.ITypeActivator" /> that will be used to
  2365. instantiate object instances.
  2366. </summary>
  2367. <param name="activator">The <see cref="T:LinFu.AOP.Interfaces.ITypeActivator" /> that will instantiate types.</param>
  2368. </member>
  2369. <member name="T:LinFu.AOP.Interfaces.IInvokeWrapper">
  2370. <summary>
  2371. Represents a special type of interceptor that can
  2372. wrap itself around a method call.
  2373. </summary>
  2374. </member>
  2375. <member name="M:LinFu.AOP.Interfaces.IInvokeWrapper.DoInvoke(LinFu.AOP.Interfaces.IInvocationInfo)">
  2376. <summary>
  2377. This method will provide the actual implementation
  2378. for the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod">target method</see>
  2379. instance.
  2380. </summary>
  2381. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> associated with the method call.</param>
  2382. <returns>The actual return value from the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod" />.</returns>
  2383. </member>
  2384. <member name="T:LinFu.AOP.Interfaces.IActivationContext">
  2385. <summary>
  2386. Represents a class that describes a request to instantiate a particular object type.
  2387. </summary>
  2388. </member>
  2389. <member name="P:LinFu.AOP.Interfaces.IActivationContext.TargetType">
  2390. <summary>
  2391. Gets the value indicating the type to be instantiated.
  2392. </summary>
  2393. </member>
  2394. <member name="P:LinFu.AOP.Interfaces.IActivationContext.AdditionalArguments">
  2395. <summary>
  2396. Gets the value indicating the arguments that will be passed to the constructor during instantiation.
  2397. </summary>
  2398. </member>
  2399. <member name="T:LinFu.AOP.Interfaces.IMethodReplacementProvider">
  2400. <summary>
  2401. Represents a type that can swap method body implementations at runtime.
  2402. </summary>
  2403. </member>
  2404. <member name="M:LinFu.AOP.Interfaces.IMethodReplacementProvider.CanReplace(System.Object,LinFu.AOP.Interfaces.IInvocationInfo)">
  2405. <summary>
  2406. Determines whether or not the current method implementation can be replaced.
  2407. </summary>
  2408. <param name="host">The target instance of the method call.</param>
  2409. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> that describes the context of the method call.</param>
  2410. <returns>
  2411. <c>true</c> if the method can be intercepted; otherwise, it will return <c>false</c>.</returns>
  2412. </member>
  2413. <member name="M:LinFu.AOP.Interfaces.IMethodReplacementProvider.GetMethodReplacement(System.Object,LinFu.AOP.Interfaces.IInvocationInfo)">
  2414. <summary>
  2415. Obtains the <see cref="T:LinFu.AOP.Interfaces.IInterceptor" /> instance that will be used to replace the current method call.
  2416. </summary>
  2417. <param name="host">The target instance of the method call.</param>
  2418. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> that describes the context of the method call.</param>
  2419. <returns>The interceptor that will intercept the method call itself.</returns>
  2420. </member>
  2421. <member name="T:LinFu.AOP.Interfaces.ITypeActivationContext">
  2422. <summary>
  2423. Represents a special type of <see cref="T:LinFu.AOP.Interfaces.IActivationContext" /> that can be used to instantiate a given type
  2424. and can be used to describe the method that invoked the instantiation operation as well as specify the object
  2425. instance that invoked the instantiation itself.
  2426. </summary>
  2427. </member>
  2428. <member name="P:LinFu.AOP.Interfaces.ITypeActivationContext.Target">
  2429. <summary>
  2430. Gets the value indicating the object instance that initiated the object instantiation operation.
  2431. </summary>
  2432. </member>
  2433. <member name="P:LinFu.AOP.Interfaces.ITypeActivationContext.TargetMethod">
  2434. <summary>
  2435. Gets the value indiating the <see cref="T:System.Reflection.MethodBase" /> instance that initiated the object instantiation operation.
  2436. </summary>
  2437. </member>
  2438. <member name="T:LinFu.AOP.Interfaces.IFieldInterceptionContext">
  2439. <summary>
  2440. Represents a class that describes the state of a field just as it is being intercepted.
  2441. </summary>
  2442. </member>
  2443. <member name="P:LinFu.AOP.Interfaces.IFieldInterceptionContext.Target">
  2444. <summary>
  2445. Gets a value indicating the target instance that is attached to the target field.
  2446. </summary>
  2447. </member>
  2448. <member name="P:LinFu.AOP.Interfaces.IFieldInterceptionContext.TargetMethod">
  2449. <summary>
  2450. Gets a value indicating the host method that is currently accessing the target field.
  2451. </summary>
  2452. </member>
  2453. <member name="P:LinFu.AOP.Interfaces.IFieldInterceptionContext.TargetField">
  2454. <summary>
  2455. Gets a value indicating the field that is currently being accessed by the target method.
  2456. </summary>
  2457. </member>
  2458. <member name="P:LinFu.AOP.Interfaces.IFieldInterceptionContext.HostType">
  2459. <summary>
  2460. Gets a value indicating the <see cref="T:System.Type" /> that holds the target field.
  2461. </summary>
  2462. </member>
  2463. <member name="T:LinFu.AOP.Interfaces.IActivatorHost">
  2464. <summary>
  2465. Represents a type that can intercept activation requests.
  2466. </summary>
  2467. </member>
  2468. <member name="P:LinFu.AOP.Interfaces.IActivatorHost.Activator">
  2469. <summary>
  2470. Gets or sets the value indicating the <see cref="T:LinFu.AOP.Interfaces.ITypeActivator" /> that
  2471. will be used to instantiate object types.
  2472. </summary>
  2473. </member>
  2474. <member name="T:LinFu.AOP.Interfaces.IModifiableType">
  2475. <summary>
  2476. Represents a type that has been modified to support
  2477. pervasive method interception.
  2478. </summary>
  2479. </member>
  2480. <member name="P:LinFu.AOP.Interfaces.IModifiableType.IsInterceptionDisabled">
  2481. <summary>
  2482. Gets or sets the value indicating whether or not
  2483. method interception should be disabled.
  2484. </summary>
  2485. </member>
  2486. <member name="T:LinFu.AOP.Interfaces.IActivator`1">
  2487. <summary>
  2488. Represents a class that can instantiate object instances.
  2489. </summary>
  2490. <typeparam name="TContext">
  2491. The type that describes the context of the object instantiation.
  2492. </typeparam>
  2493. </member>
  2494. <member name="M:LinFu.AOP.Interfaces.IActivator`1.CreateInstance(`0)">
  2495. <summary>
  2496. Creates an object instance.
  2497. </summary>
  2498. <param name="context">The context that describes the request to instantiate the target type.</param>
  2499. <returns>A valid object instance.</returns>
  2500. </member>
  2501. <member name="T:LinFu.AOP.Interfaces.MethodCallReplacementProviderRegistry">
  2502. <summary>
  2503. Represents a static type that allows users to register a method replacement provider from a single location.
  2504. </summary>
  2505. </member>
  2506. <member name="M:LinFu.AOP.Interfaces.MethodCallReplacementProviderRegistry.GetProvider(System.Object,LinFu.AOP.Interfaces.IInvocationInfo)">
  2507. <summary>
  2508. Returns the provider that is currently attached to the registry.
  2509. </summary>
  2510. <param name="host">The type that is currently being intercepted.</param>
  2511. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> object that describes the invocation context.</param>
  2512. <returns>A <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> that will determine the code that will be executed once a target method is called.</returns>
  2513. </member>
  2514. <member name="M:LinFu.AOP.Interfaces.MethodCallReplacementProviderRegistry.SetProvider(LinFu.AOP.Interfaces.IMethodReplacementProvider)">
  2515. <summary>
  2516. Assigns the <paramref name="provider" /> to the MethodReplacementProvider registry.
  2517. </summary>
  2518. <returns>A <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> that will determine the code that will be executed once a target method is called.</returns>
  2519. </member>
  2520. <member name="T:LinFu.AOP.Interfaces.ITypeActivator">
  2521. <summary>
  2522. Represents an <see cref="T:LinFu.AOP.Interfaces.IActivator`1" /> that can instantiate objects from within a particular method.
  2523. </summary>
  2524. </member>
  2525. <member name="M:LinFu.AOP.Interfaces.ITypeActivator.CanActivate(LinFu.AOP.Interfaces.ITypeActivationContext)">
  2526. <summary>
  2527. Determines whether or not a type can be instantiated using the
  2528. <paramref name="context" />.
  2529. </summary>
  2530. <param name="context">The <see cref="T:LinFu.AOP.Interfaces.ITypeActivationContext" /> instance that describes the type to be created.</param>
  2531. <returns>
  2532. <c>true</c> if the type can be created; otherwise, it will return <c>false</c>.</returns>
  2533. </member>
  2534. <member name="T:LinFu.AOP.Interfaces.IInterceptor">
  2535. <summary>
  2536. Represents a class that can dynamically intercept method calls.
  2537. </summary>
  2538. </member>
  2539. <member name="M:LinFu.AOP.Interfaces.IInterceptor.Intercept(LinFu.AOP.Interfaces.IInvocationInfo)">
  2540. <summary>
  2541. Intercepts a method call using the given
  2542. <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.
  2543. </summary>
  2544. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that will
  2545. contain all the necessary information associated with a
  2546. particular method call.</param>
  2547. <returns>The return value of the target method. If the return type of the target
  2548. method is <see cref="!:void" />, then the return value will be ignored.</returns>
  2549. </member>
  2550. <member name="T:LinFu.AOP.Interfaces.IBootStrappedComponent">
  2551. <summary>
  2552. Represents a type that will be automatically initialized once the LinFu.AOP assembly is loaded into memory.
  2553. </summary>
  2554. </member>
  2555. <member name="M:LinFu.AOP.Interfaces.IBootStrappedComponent.Initialize">
  2556. <summary>
  2557. Initializes the bootstrapped component.
  2558. </summary>
  2559. </member>
  2560. <member name="T:LinFu.AOP.Interfaces.IAroundInvokeProvider">
  2561. <summary>
  2562. Represents a class that injects code around a method implementation.
  2563. </summary>
  2564. </member>
  2565. <member name="M:LinFu.AOP.Interfaces.IAroundInvokeProvider.GetSurroundingImplementation(LinFu.AOP.Interfaces.IInvocationInfo)">
  2566. <summary>
  2567. Gets the <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance that will be executed
  2568. before and after the target method (specified in the <paramref name="context" /> parameter)
  2569. is called.
  2570. </summary>
  2571. <param name="context">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> that describes the context of the method call at the call site.</param> /// <returns>An <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance if the surrounding behavior can be found; otherwise, it should return <c>null</c>.</returns></member>
  2572. <member name="T:LinFu.AOP.Interfaces.ActivationContext">
  2573. <summary>
  2574. Represents a class that describes a request to instantiate a particular object type.
  2575. </summary>
  2576. </member>
  2577. <member name="M:LinFu.AOP.Interfaces.ActivationContext.#ctor(System.Type,System.Object[])">
  2578. <summary>
  2579. Initializes the context with the given parameters.
  2580. </summary>
  2581. <param name="concreteType">The type to be instantiated.</param>
  2582. <param name="additionalArguments">The additional arguments that must be passed to the constructor.</param>
  2583. </member>
  2584. <member name="P:LinFu.AOP.Interfaces.ActivationContext.TargetType">
  2585. <summary>
  2586. Gets the value indicating the type to be instantiated.
  2587. </summary>
  2588. </member>
  2589. <member name="P:LinFu.AOP.Interfaces.ActivationContext.AdditionalArguments">
  2590. <summary>
  2591. Gets the value indicating the arguments that will be passed to the constructor during instantiation.
  2592. </summary>
  2593. </member>
  2594. <member name="T:LinFu.AOP.Interfaces.AroundMethodBodyRegistry">
  2595. <summary>
  2596. Represents a registry class that handles all class-level interception operations for all modified types.
  2597. </summary>
  2598. </member>
  2599. <member name="M:LinFu.AOP.Interfaces.AroundMethodBodyRegistry.GetSurroundingImplementation(LinFu.AOP.Interfaces.IInvocationInfo)">
  2600. <summary>
  2601. Obtains the <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance for the given <paramref name="context" />.
  2602. </summary>
  2603. <param name="context">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the current method call.</param>
  2604. <returns>An <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance that will be used to wrap a method call or method body.</returns>
  2605. </member>
  2606. <member name="M:LinFu.AOP.Interfaces.AroundMethodBodyRegistry.AddProvider(LinFu.AOP.Interfaces.IAroundInvokeProvider)">
  2607. <summary>
  2608. Adds an <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> to the list of provider instances.
  2609. </summary>
  2610. <param name="provider">The <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance.</param>
  2611. </member>
  2612. <member name="M:LinFu.AOP.Interfaces.AroundMethodBodyRegistry.Clear">
  2613. <summary>
  2614. Clears the list of <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instances.
  2615. </summary>
  2616. </member>
  2617. <member name="T:LinFu.AOP.Interfaces.FieldInterceptionContext">
  2618. <summary>
  2619. Represents a class that describes the state of a field just as it is being intercepted by a <see cref="T:LinFu.AOP.Interfaces.IFieldInterceptor" />.
  2620. </summary>
  2621. </member>
  2622. <member name="M:LinFu.AOP.Interfaces.FieldInterceptionContext.#ctor(System.Object,System.Reflection.MethodBase,System.Reflection.FieldInfo,System.Type)">
  2623. <summary>
  2624. Initializes a new instance of the FieldInterceptionContext class.
  2625. </summary>
  2626. <param name="target">The target that hosts the given field.</param>
  2627. <param name="targetMethod">The method that accessed the target field.</param>
  2628. <param name="targetField">The field currently being accessed by the target method.</param>
  2629. <param name="hostType">The type that hosts the target field.</param>
  2630. </member>
  2631. <member name="P:LinFu.AOP.Interfaces.FieldInterceptionContext.Target">
  2632. <summary>
  2633. Gets a value indicating the target instance that is attached to the target field.
  2634. </summary>
  2635. </member>
  2636. <member name="P:LinFu.AOP.Interfaces.FieldInterceptionContext.TargetMethod">
  2637. <summary>
  2638. Gets a value indicating the host method that is currently accessing the target field.
  2639. </summary>
  2640. </member>
  2641. <member name="P:LinFu.AOP.Interfaces.FieldInterceptionContext.TargetField">
  2642. <summary>
  2643. Gets a value indicating the field that is currently being accessed by the target method.
  2644. </summary>
  2645. </member>
  2646. <member name="P:LinFu.AOP.Interfaces.FieldInterceptionContext.HostType">
  2647. <summary>
  2648. Gets a value indicating the <see cref="T:System.Type" /> that holds the target field.
  2649. </summary>
  2650. </member>
  2651. <member name="T:LinFu.AOP.Interfaces.TypeActivationContext">
  2652. <summary>
  2653. Represents an <see cref="T:LinFu.AOP.Interfaces.ActivationContext" /> that can be used to instantiate a given type
  2654. and be used to describe the method that invoked the instantiation operation as well as specify the object
  2655. instance that invoked the instantiation itself.
  2656. </summary>
  2657. </member>
  2658. <member name="M:LinFu.AOP.Interfaces.TypeActivationContext.#ctor(System.Object,System.Reflection.MethodBase,System.Type,System.Object[])">
  2659. <summary>
  2660. Initializes a new instance of the MethodActivationContext class.
  2661. </summary>
  2662. <param name="target">The object instance that initiated the activation request.</param>
  2663. <param name="targetMethod">The method where the activation was invoked.</param>
  2664. <param name="concreteType">The type to be constructed.</param>
  2665. <param name="additionalArguments">The additional arguments that will be passed to the constructor.</param>
  2666. </member>
  2667. <member name="P:LinFu.AOP.Interfaces.TypeActivationContext.Target">
  2668. <summary>
  2669. Gets the value indicating the object instance that initiated the object instantiation operation.
  2670. </summary>
  2671. </member>
  2672. <member name="P:LinFu.AOP.Interfaces.TypeActivationContext.TargetMethod">
  2673. <summary>
  2674. Gets the value indiating the <see cref="T:System.Reflection.MethodBase" /> instance that initiated the object instantiation operation.
  2675. </summary>
  2676. </member>
  2677. <member name="T:LinFu.AOP.Interfaces.IFieldInterceptionHost">
  2678. <summary>
  2679. Represents a type that has been modified to intercept field getters and setters.
  2680. </summary>
  2681. </member>
  2682. <member name="P:LinFu.AOP.Interfaces.IFieldInterceptionHost.FieldInterceptor">
  2683. <summary>
  2684. Gets or sets the value indicating the interceptor that will handle field getters and setters.
  2685. </summary>
  2686. </member>
  2687. <member name="T:LinFu.AOP.Interfaces.BaseMethodReplacementProvider">
  2688. <summary>
  2689. Represents the boilerplate implementation for a <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.
  2690. </summary>
  2691. </member>
  2692. <member name="M:LinFu.AOP.Interfaces.BaseMethodReplacementProvider.CanReplace(System.Object,LinFu.AOP.Interfaces.IInvocationInfo)">
  2693. <summary>
  2694. Determines whether or not the current method implementation can be replaced.
  2695. </summary>
  2696. <param name="host">The target instance of the method call.</param>
  2697. <param name="context">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> that describes the context of the method call.</param>
  2698. <returns>
  2699. <c>true</c> if the method can be intercepted; otherwise, it will return <c>false</c>.</returns>
  2700. </member>
  2701. <member name="M:LinFu.AOP.Interfaces.BaseMethodReplacementProvider.GetMethodReplacement(System.Object,LinFu.AOP.Interfaces.IInvocationInfo)">
  2702. <summary>
  2703. Obtains the <see cref="T:LinFu.AOP.Interfaces.IInterceptor" /> instance that will be used to replace the current method call.
  2704. </summary>
  2705. <param name="host">The target instance of the method call.</param>
  2706. <param name="context">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> that describes the context of the method call.</param>
  2707. <returns>The interceptor that will intercept the method call itself.</returns>
  2708. </member>
  2709. <member name="M:LinFu.AOP.Interfaces.BaseMethodReplacementProvider.GetReplacement(System.Object,LinFu.AOP.Interfaces.IInvocationInfo)">
  2710. <summary>
  2711. Obtains the <see cref="T:LinFu.AOP.Interfaces.IInterceptor" /> instance that will be used to replace the current method call.
  2712. </summary>
  2713. <param name="host">The target instance of the method call.</param>
  2714. <param name="context">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> that describes the context of the method call.</param>
  2715. <returns>The interceptor that will intercept the method call itself.</returns>
  2716. </member>
  2717. <member name="T:LinFu.AOP.Interfaces.SimpleMethodReplacementProvider">
  2718. <summary>
  2719. Represents the simplest possible <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> implementation
  2720. that will allow the user to use the original method body implementation as part
  2721. of the interceptor call.
  2722. </summary>
  2723. </member>
  2724. <member name="M:LinFu.AOP.Interfaces.SimpleMethodReplacementProvider.#ctor(LinFu.AOP.Interfaces.IInterceptor)">
  2725. <summary>
  2726. Initializes a new instance of the <see cref="T:LinFu.AOP.Interfaces.SimpleMethodReplacementProvider" /> class.
  2727. </summary>
  2728. <param name="replacement">The method body replacement interceptor.</param>
  2729. </member>
  2730. <member name="M:LinFu.AOP.Interfaces.SimpleMethodReplacementProvider.ShouldReplace(System.Object,LinFu.AOP.Interfaces.IInvocationInfo)">
  2731. <summary>
  2732. Determines whether or not a particular method body should be replaced at runtime.
  2733. </summary>
  2734. <param name="host">The host instance that contains the target method.</param>
  2735. <param name="context">The context surrounding the method call.</param>
  2736. <returns>Returns <c>true</c> if the method body should be swapped; otherwise, it will return <c>false</c>.</returns>
  2737. </member>
  2738. <member name="M:LinFu.AOP.Interfaces.SimpleMethodReplacementProvider.GetReplacement(System.Object,LinFu.AOP.Interfaces.IInvocationInfo)">
  2739. <summary>
  2740. Gets the method replacement for a given <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo">invocation context</see>.
  2741. </summary>
  2742. <param name="host">The host instance that contains the target method.</param>
  2743. <param name="context">The context surrounding the method call.</param>
  2744. <returns>The interceptor that will swap the method bodies at runtime.</returns>
  2745. </member>
  2746. <member name="P:LinFu.AOP.Interfaces.SimpleMethodReplacementProvider.MethodReplacementPredicate">
  2747. <summary>
  2748. Gets or sets the value indicating the Predicate that will determine whether or not
  2749. the method should be intercepted.
  2750. </summary>
  2751. <value>The interceptor predicate.</value>
  2752. </member>
  2753. <member name="P:LinFu.AOP.Interfaces.SimpleMethodReplacementProvider.MethodReplacement">
  2754. <summary>
  2755. Gets or sets the value indicating the actual <see cref="T:LinFu.AOP.Interfaces.IInterceptor" />
  2756. instance that will provide the method body implementations.
  2757. </summary>
  2758. <value>The interceptor that will swap the method bodies at runtime.</value>
  2759. </member>
  2760. <member name="T:LinFu.AOP.Tasks.PostWeaveTask">
  2761. <summary>
  2762. Represents an MSBuild task for LinFu.AOP that allows users to inject an aspect framework into their applications
  2763. at postbuild time.
  2764. </summary>
  2765. </member>
  2766. <member name="M:LinFu.AOP.Tasks.PostWeaveTask.Execute">
  2767. <summary>
  2768. Executes the postweaver.
  2769. </summary>
  2770. <returns>Returns <c>true</c> if the operation succeeded. Otherwise, it will return <c>false</c>.</returns>
  2771. </member>
  2772. <member name="P:LinFu.AOP.Tasks.PostWeaveTask.TargetFile">
  2773. <summary>
  2774. Gets or sets the value indicating the full path and filename of the target assembly.
  2775. </summary>
  2776. <value>The target assembly filename.</value>
  2777. </member>
  2778. <member name="P:LinFu.AOP.Tasks.PostWeaveTask.OutputFile">
  2779. <summary>
  2780. Gets or sets the value indicating the full path and filename of the output assembly.
  2781. </summary>
  2782. <value>The output assembly filename.</value>
  2783. <remarks>This field is optional; if blank, the default value will be the same value as the <see cref="P:LinFu.AOP.Tasks.PostWeaveTask.TargetFile" /> property.</remarks>
  2784. </member>
  2785. <member name="P:LinFu.AOP.Tasks.PostWeaveTask.InterceptAllMethodCalls">
  2786. <summary>
  2787. Gets or sets the value indicating whether or not third party method calls should be intercepted in the target assembly.
  2788. </summary>
  2789. <value>A boolean value indicating whether or not third party method call interception should be enabled.</value>
  2790. </member>
  2791. <member name="P:LinFu.AOP.Tasks.PostWeaveTask.InterceptAllMethodBodies">
  2792. <summary>
  2793. Gets or sets the value indicating whether or not method bodies should be intercepted in the target assembly.
  2794. </summary>
  2795. <value>A boolean value indicating whether or not method body interception should be enabled.</value>
  2796. </member>
  2797. <member name="P:LinFu.AOP.Tasks.PostWeaveTask.InterceptAllNewInstances">
  2798. <summary>
  2799. Gets or sets the value indicating whether or not new instances should be intercepted in the target assembly.
  2800. </summary>
  2801. <value>A boolean value indicating whether or not new instance interception should be enabled.</value>
  2802. </member>
  2803. <member name="P:LinFu.AOP.Tasks.PostWeaveTask.InterceptAllFields">
  2804. <summary>
  2805. Gets or sets the value indicating whether or not field reads and writes should be intercepted in the target assembly.
  2806. </summary>
  2807. <value>A boolean value indicating whether or not field reads and writes should be enabled.</value>
  2808. </member>
  2809. <member name="P:LinFu.AOP.Tasks.PostWeaveTask.InterceptAllExceptions">
  2810. <summary>
  2811. Gets or sets the value indicating whether or not thrown exceptions should be intercepted in the target assembly.
  2812. </summary>
  2813. <value>A boolean value indicating whether or not exception interception should be enabled.</value>
  2814. </member>
  2815. <member name="T:LinFu.Finders.Interfaces.ICriteria`1">
  2816. <summary>
  2817. Represents a class that describes the search criteria
  2818. for a given item <typeparamref name="T">type</typeparamref>.
  2819. </summary>
  2820. <typeparam name="T">The target item type.</typeparam>
  2821. </member>
  2822. <member name="P:LinFu.Finders.Interfaces.ICriteria`1.Type">
  2823. <summary>
  2824. Gets or sets a value indicating the <see cref="T:LinFu.Finders.Interfaces.CriteriaType" />
  2825. of the current <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" />.
  2826. </summary>
  2827. </member>
  2828. <member name="P:LinFu.Finders.Interfaces.ICriteria`1.Predicate">
  2829. <summary>
  2830. The condition that will determine whether or not
  2831. the target item matches the criteria.
  2832. </summary>
  2833. </member>
  2834. <member name="P:LinFu.Finders.Interfaces.ICriteria`1.Weight">
  2835. <summary>
  2836. Gets or sets a value indicating the weight of the given <see cref="P:LinFu.Finders.Interfaces.ICriteria`1.Predicate" />.
  2837. </summary>
  2838. </member>
  2839. <member name="T:LinFu.Finders.Criteria`1">
  2840. <summary>
  2841. Represents the default implementation of the <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" /> interface.
  2842. </summary>
  2843. <typeparam name="T">The type of item to test.</typeparam>
  2844. </member>
  2845. <member name="P:LinFu.Finders.Criteria`1.Type">
  2846. <summary>
  2847. Gets or sets a value indicating the <see cref="T:LinFu.Finders.Interfaces.CriteriaType" />
  2848. of the current <see cref="T:LinFu.Finders.Criteria`1" />.
  2849. </summary>
  2850. </member>
  2851. <member name="P:LinFu.Finders.Criteria`1.Predicate">
  2852. <summary>
  2853. The condition that will determine whether or not
  2854. the target item matches the criteria.
  2855. </summary>
  2856. </member>
  2857. <member name="P:LinFu.Finders.Criteria`1.Weight">
  2858. <summary>
  2859. The weight of the given <see cref="P:LinFu.Finders.Criteria`1.Predicate" />.
  2860. </summary>
  2861. </member>
  2862. <member name="T:LinFu.Finders.FinderExtensions">
  2863. <summary>
  2864. A class that adds fuzzy search support to <see cref="T:System.Collections.Generic.IList`1" /> instances.
  2865. </summary>
  2866. </member>
  2867. <member name="M:LinFu.Finders.FinderExtensions.AddCriteria``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}},LinFu.Finders.Interfaces.ICriteria{``0})">
  2868. <summary>
  2869. Applies a criteria to the <paramref name="list" /> of
  2870. fuzzy items.
  2871. </summary>
  2872. <typeparam name="TItem">The type of item to test.</typeparam>
  2873. <param name="list">The list of <see cref="T:LinFu.Finders.Interfaces.IFuzzyItem`1" /> instances that represent a single test case in a fuzzy search.</param>
  2874. <param name="criteria">The criteria to test against each item in the list.</param>
  2875. </member>
  2876. <member name="M:LinFu.Finders.FinderExtensions.AddCriteria``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}},System.Func{``0,System.Boolean})">
  2877. <summary>
  2878. Applies a criteria to the <paramref name="list" /> of
  2879. fuzzy items using the given <paramref name="predicate" />.
  2880. </summary>
  2881. <typeparam name="TItem">The type of item to test.</typeparam>
  2882. <param name="list">The list of <see cref="T:LinFu.Finders.Interfaces.IFuzzyItem`1" /> instances that represent a single test case in a fuzzy search.</param>
  2883. <param name="predicate">The condition that will be used to test the target item.</param>
  2884. </member>
  2885. <member name="M:LinFu.Finders.FinderExtensions.AddCriteria``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}},System.Func{``0,System.Boolean},LinFu.Finders.Interfaces.CriteriaType)">
  2886. <summary>
  2887. Applies a criteria to the <paramref name="list" /> of
  2888. fuzzy items using the given <paramref name="predicate" />.
  2889. </summary>
  2890. <typeparam name="TItem">The type of item to test.</typeparam>
  2891. <param name="list">The list of <see cref="T:LinFu.Finders.Interfaces.IFuzzyItem`1" /> instances that represent a single test case in a fuzzy search.</param>
  2892. <param name="predicate">The condition that will be used to test the target item.</param>
  2893. <param name="criteriaType">The <see cref="T:LinFu.Finders.Interfaces.CriteriaType" /> to associate with the predicate.</param>
  2894. </member>
  2895. <member name="M:LinFu.Finders.FinderExtensions.AddCriteria``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}},System.Func{``0,System.Boolean},LinFu.Finders.Interfaces.CriteriaType,System.Int32)">
  2896. <summary>
  2897. Applies a criteria to the <paramref name="list" /> of
  2898. fuzzy items using the given <paramref name="predicate" />.
  2899. </summary>
  2900. <typeparam name="TItem">The type of item to test.</typeparam>
  2901. <param name="list">The list of <see cref="T:LinFu.Finders.Interfaces.IFuzzyItem`1" /> instances that represent a single test case in a fuzzy search.</param>
  2902. <param name="predicate">The condition that will be used to test the target item.</param>
  2903. <param name="criteriaType">The <see cref="T:LinFu.Finders.Interfaces.CriteriaType" /> to associate with the predicate.</param>
  2904. <param name="weight">The weight of the predicate value expressed in the number of tests that will be counted for/against the target item as a result of the predicate.</param>
  2905. </member>
  2906. <member name="M:LinFu.Finders.FinderExtensions.Add``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}},``0)">
  2907. <summary>
  2908. Adds an item to a fuzzy list.
  2909. </summary>
  2910. <typeparam name="T">The type of the item being added.</typeparam>
  2911. <param name="list">The fuzzy list that will contain the new item.</param>
  2912. <param name="item">The item being added.</param>
  2913. </member>
  2914. <member name="M:LinFu.Finders.FinderExtensions.BestMatch``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}})">
  2915. <summary>
  2916. Returns the FuzzyItem with the highest confidence score in a given
  2917. <see cref="T:LinFu.Finders.Interfaces.IFuzzyItem`1" /> list.
  2918. </summary>
  2919. <typeparam name="TItem">The type of item being compared.</typeparam>
  2920. <param name="list">The fuzzy list that contains the list of possible matches.</param>
  2921. <returns>The item with the highest match.</returns>
  2922. </member>
  2923. <member name="M:LinFu.Finders.FinderExtensions.Reset``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}})">
  2924. <summary>
  2925. Resets the scores of all fuzzy items in the current list.
  2926. </summary>
  2927. <typeparam name="TItem">The target item type.</typeparam>
  2928. <param name="list">The fuzzy list itself.</param>
  2929. </member>
  2930. <member name="M:LinFu.Finders.FinderExtensions.AsFuzzyList``1(System.Collections.Generic.IEnumerable{``0})">
  2931. <summary>
  2932. Converts a list into a list of <see cref="T:LinFu.Finders.Interfaces.IFuzzyItem`1" /> objects.
  2933. </summary>
  2934. <typeparam name="TItem">The item type will be used in the fuzzy search.</typeparam>
  2935. <param name="items">The target list to be converted.</param>
  2936. <returns>A fuzzy list containing the elements from the given list.</returns>
  2937. </member>
  2938. <member name="T:LinFu.Finders.Interfaces.IFuzzyItem`1">
  2939. <summary>
  2940. Represents a search item in a fuzzy search list.
  2941. </summary>
  2942. <typeparam name="T">
  2943. </typeparam>
  2944. </member>
  2945. <member name="M:LinFu.Finders.Interfaces.IFuzzyItem`1.Test(LinFu.Finders.Interfaces.ICriteria{`0})">
  2946. <summary>
  2947. Tests if the current item matches the given
  2948. <paramref name="criteria" />.
  2949. </summary>
  2950. <param name="criteria">The <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" /> that determines whether or not the <see cref="P:LinFu.Finders.Interfaces.IFuzzyItem`1.Item" /> meets a particular description.</param>
  2951. </member>
  2952. <member name="M:LinFu.Finders.Interfaces.IFuzzyItem`1.Reset">
  2953. <summary>
  2954. Resets the item back to its initial state.
  2955. </summary>
  2956. </member>
  2957. <member name="P:LinFu.Finders.Interfaces.IFuzzyItem`1.Confidence">
  2958. <summary>
  2959. Reports the probability of a match
  2960. based on the <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" />
  2961. that has been tested so far.
  2962. A value of 1.0 indicates a 100% match;
  2963. A value of 0.0 equals a zero percent match.
  2964. </summary>
  2965. </member>
  2966. <member name="P:LinFu.Finders.Interfaces.IFuzzyItem`1.Item">
  2967. <summary>
  2968. Gets the target item.
  2969. </summary>
  2970. </member>
  2971. <member name="T:LinFu.Finders.FuzzyItem`1">
  2972. <summary>
  2973. Represents the default implementation of a weighted item in
  2974. a fuzzy list.
  2975. </summary>
  2976. <typeparam name="T">The item type to be tested.</typeparam>
  2977. </member>
  2978. <member name="M:LinFu.Finders.FuzzyItem`1.#ctor(`0)">
  2979. <summary>
  2980. Initializes the <see cref="T:LinFu.Finders.FuzzyItem`1" /> class with the given <paramref name="item" />.
  2981. </summary>
  2982. <param name="item">An instance of the <typeparamref name="T">item type</typeparamref> that will be tested.</param>
  2983. </member>
  2984. <member name="M:LinFu.Finders.FuzzyItem`1.Test(LinFu.Finders.Interfaces.ICriteria{`0})">
  2985. <summary>
  2986. Tests if the current item matches the given
  2987. <paramref name="criteria" />.
  2988. </summary>
  2989. <param name="criteria">The <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" /> that determines whether or not the <see cref="P:LinFu.Finders.FuzzyItem`1.Item" /> meets a particular description.</param>
  2990. </member>
  2991. <member name="M:LinFu.Finders.FuzzyItem`1.Reset">
  2992. <summary>
  2993. Resets the item back to its initial state.
  2994. </summary>
  2995. </member>
  2996. <member name="P:LinFu.Finders.FuzzyItem`1.Confidence">
  2997. <summary>
  2998. Reports the probability of a match
  2999. based on the <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" />
  3000. that has been tested so far.
  3001. A value of 1.0 indicates a 100% match;
  3002. A value of 0.0 equals a zero percent match.
  3003. </summary>
  3004. </member>
  3005. <member name="P:LinFu.Finders.FuzzyItem`1.Item">
  3006. <summary>
  3007. Gets the target item.
  3008. </summary>
  3009. </member>
  3010. <member name="T:LinFu.Finders.Interfaces.CriteriaType">
  3011. <summary>
  3012. The enumeration that determines how a <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" /> instance should
  3013. be handled if the criteria test fails.
  3014. </summary>
  3015. </member>
  3016. <member name="F:LinFu.Finders.Interfaces.CriteriaType.Standard">
  3017. <summary>
  3018. A failure in a criteria test will result in a lower weighted
  3019. score for a target item.
  3020. </summary>
  3021. </member>
  3022. <member name="F:LinFu.Finders.Interfaces.CriteriaType.Optional">
  3023. <summary>
  3024. A failure in a criteria test will be ignored, and hence,
  3025. the criteria will be optional.
  3026. </summary>
  3027. </member>
  3028. <member name="F:LinFu.Finders.Interfaces.CriteriaType.Critical">
  3029. <summary>
  3030. A failure in a criteria test will cause all previous and remaining
  3031. tests against the criteria to fail.
  3032. </summary>
  3033. </member>
  3034. <member name="T:LinFu.Finders.PredicateExtensions">
  3035. <summary>
  3036. A class that adds logical extensions to the <see cref="T:System.Func`2" /> predicate
  3037. class.
  3038. </summary>
  3039. </member>
  3040. <member name="M:LinFu.Finders.PredicateExtensions.Or``1(System.Func{``0,System.Boolean},System.Func{``0,System.Boolean})">
  3041. <summary>
  3042. Logically ORs two <see cref="T:System.Func`2" /> predicates together.
  3043. </summary>
  3044. <typeparam name="TItem">The type of item being compared.</typeparam>
  3045. <param name="left">The left hand predicate.</param>
  3046. <param name="right">The right hand predicate.</param>
  3047. <returns>A predicate that will return <c>true</c> if and only if one of the given predicates is <c>true</c>; otherwise, it will return <c>false</c>.</returns>
  3048. </member>
  3049. <member name="M:LinFu.Finders.PredicateExtensions.And``1(System.Func{``0,System.Boolean},System.Func{``0,System.Boolean})">
  3050. <summary>
  3051. Logically ANDs two <see cref="T:System.Func`2" /> predicates together.
  3052. </summary>
  3053. <typeparam name="TItem">The type of item being compared.</typeparam>
  3054. <param name="left">The left hand predicate.</param>
  3055. <param name="right">The right hand predicate.</param>
  3056. <returns>A predicate that will return <c>true</c> if and only if both of the given predicates are <c>true</c>; otherwise, it will return <c>false</c>.</returns>
  3057. </member>
  3058. <member name="M:LinFu.Finders.PredicateExtensions.Inverse``1(System.Func{``0,System.Boolean})">
  3059. <summary>
  3060. Logically negates a single predicate.
  3061. </summary>
  3062. <typeparam name="TItem">The type of item being compared.</typeparam>
  3063. <param name="predicate">The predicate to negate.</param>
  3064. <returns>Returns <c>true</c> if the given predicate is <c>false</c>.</returns>
  3065. </member>
  3066. <member name="T:LinFu.IoC.Configuration.FactoryAttribute">
  3067. <summary>
  3068. An attribute that marks a type as a custom factory.
  3069. </summary>
  3070. </member>
  3071. <member name="F:LinFu.IoC.Configuration.FactoryAttribute.ArgumentTypes">
  3072. <summary>
  3073. The additional parameters supported by the custom factory.
  3074. </summary>
  3075. </member>
  3076. <member name="F:LinFu.IoC.Configuration.FactoryAttribute.ServiceName">
  3077. <summary>
  3078. The service name that will be associated
  3079. with the service type.
  3080. </summary>
  3081. </member>
  3082. <member name="M:LinFu.IoC.Configuration.FactoryAttribute.#ctor(System.Type)">
  3083. <summary>
  3084. Marks a target type as a custom factory
  3085. that can create object instances that
  3086. can implement the <paramref name="serviceType" />.
  3087. </summary>
  3088. <param name="serviceType">The service type to create.</param>
  3089. </member>
  3090. <member name="P:LinFu.IoC.Configuration.FactoryAttribute.ServiceType">
  3091. <summary>
  3092. Gets the service type that can be created
  3093. using the factory instance.
  3094. </summary>
  3095. </member>
  3096. <member name="T:LinFu.IoC.Interfaces.IContainer">
  3097. <summary>
  3098. An inversion of control container interface.
  3099. </summary>
  3100. </member>
  3101. <member name="M:LinFu.IoC.Interfaces.IContainer.AddFactory(System.Type,System.Collections.Generic.IEnumerable{System.Type},LinFu.IoC.Interfaces.IFactory)">
  3102. <summary>
  3103. Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it
  3104. with the given <paramref name="serviceType">service type</paramref>.
  3105. </summary>
  3106. <param name="serviceType">The service type to associate with the factory</param>
  3107. <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
  3108. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be responsible for creating the service instance</param>
  3109. </member>
  3110. <member name="M:LinFu.IoC.Interfaces.IContainer.Contains(System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  3111. <summary>
  3112. Determines whether or not the container can create
  3113. the given <paramref name="serviceType">service type</paramref>.
  3114. </summary>
  3115. <param name="serviceType">The type of service used to determine whether or not the given service can actually be created</param>
  3116. <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
  3117. <returns>A <see cref="T:System.Boolean">boolean</see> value that indicates whether or not the service exists.</returns>
  3118. </member>
  3119. <member name="M:LinFu.IoC.Interfaces.IContainer.GetService(System.Type,System.Object[])">
  3120. <summary>
  3121. Causes the container to instantiate the service with the given
  3122. <paramref name="serviceType">service type</paramref>. If the service type cannot be created, then an
  3123. exception will be thrown if the <see cref="P:LinFu.IoC.Interfaces.IContainer.SuppressErrors" /> property
  3124. is set to false. Otherwise, it will simply return null.
  3125. </summary>
  3126. <param name="serviceType">The service type to instantiate.</param>
  3127. <param name="additionalArguments">The additional arguments that will be used to instantiate the service type.</param>
  3128. <returns>If successful, it will return a service instance that is compatible with the given type;
  3129. otherwise, it will just return a null value.</returns>
  3130. </member>
  3131. <member name="P:LinFu.IoC.Interfaces.IContainer.AvailableServices">
  3132. <summary>
  3133. The list of services currently available inside the container.
  3134. </summary>
  3135. </member>
  3136. <member name="P:LinFu.IoC.Interfaces.IContainer.SuppressErrors">
  3137. <summary>
  3138. Determines whether or not a container will throw an exception
  3139. if the requested service is not found.
  3140. </summary>
  3141. </member>
  3142. <member name="T:LinFu.IoC.Interfaces.IFactory">
  3143. <summary>
  3144. Allows an object to create its own service instances.
  3145. </summary>
  3146. </member>
  3147. <member name="M:LinFu.IoC.Interfaces.IFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  3148. <summary>
  3149. Creates a service instance using the given <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance.
  3150. </summary>
  3151. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  3152. <returns>An object instance that represents the service to be created. This cannot be <c>null</c>.</returns>
  3153. </member>
  3154. <member name="T:LinFu.IoC.Interfaces.IFactoryRequest">
  3155. <summary>
  3156. Represents the parameters made to a <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance during
  3157. a <see cref="M:LinFu.IoC.Interfaces.IFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)" /> method call.
  3158. </summary>
  3159. </member>
  3160. <member name="P:LinFu.IoC.Interfaces.IFactoryRequest.Container">
  3161. <summary>
  3162. Gets or sets the value indicating the service container that made the service request.
  3163. </summary>
  3164. </member>
  3165. <member name="P:LinFu.IoC.Interfaces.IFactoryRequest.ServiceName">
  3166. <summary>
  3167. Gets the value indicating the service name.
  3168. </summary>
  3169. <remarks>A null service name indicates that no service name was given during the request.</remarks>
  3170. </member>
  3171. <member name="P:LinFu.IoC.Interfaces.IFactoryRequest.ServiceType">
  3172. <summary>
  3173. Gets the value indicating the requested service type.
  3174. </summary>
  3175. </member>
  3176. <member name="P:LinFu.IoC.Interfaces.IFactoryRequest.Arguments">
  3177. <summary>
  3178. Gets the value indicating the additional arguments given in the factory request.
  3179. </summary>
  3180. </member>
  3181. <member name="T:LinFu.IoC.Configuration.IInitialize">
  3182. <summary>
  3183. Represents service classes that need to be initialized
  3184. every time a particular <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  3185. instance creates that type.
  3186. </summary>
  3187. </member>
  3188. <member name="T:LinFu.IoC.Configuration.ImplementsAttribute">
  3189. <summary>
  3190. The attribute used to specify how a service should be implemented
  3191. in addition to its instancing behavior.
  3192. </summary>
  3193. </member>
  3194. <member name="F:LinFu.IoC.Configuration.ImplementsAttribute.ServiceName">
  3195. <summary>
  3196. The name to associate with the given service.
  3197. </summary>
  3198. </member>
  3199. <member name="M:LinFu.IoC.Configuration.ImplementsAttribute.#ctor(System.Type)">
  3200. <summary>
  3201. Allows users to add services to a container using a
  3202. given <paramref name="serviceType">service type</paramref>.
  3203. </summary>
  3204. <remarks>By default, each service will be created once per request.</remarks>
  3205. <param name="serviceType">The <see cref="T:System.Type" /> of service to implement.</param>
  3206. </member>
  3207. <member name="M:LinFu.IoC.Configuration.ImplementsAttribute.#ctor(System.Type,LinFu.IoC.Configuration.LifecycleType)">
  3208. <summary>
  3209. Allows users to add services to a container using a
  3210. given <paramref name="serviceType">service type</paramref> and
  3211. <paramref name="lifeCycleType">lifecycle type</paramref>.
  3212. </summary>
  3213. <param name="serviceType">The <see cref="T:System.Type" /> of service to implement.</param>
  3214. <param name="lifeCycleType">The instancing behavior to use with this implementation.</param>
  3215. </member>
  3216. <member name="P:LinFu.IoC.Configuration.ImplementsAttribute.ServiceType">
  3217. <summary>
  3218. The type of service that will be implemented.
  3219. </summary>
  3220. </member>
  3221. <member name="P:LinFu.IoC.Configuration.ImplementsAttribute.LifecycleType">
  3222. <summary>
  3223. The instancing behavior of the service instance.
  3224. </summary>
  3225. <seealso cref="P:LinFu.IoC.Configuration.ImplementsAttribute.LifecycleType" />
  3226. </member>
  3227. <member name="T:LinFu.IoC.Interfaces.IPostProcessor">
  3228. <summary>
  3229. Represents a class that can inspect or modify service requests
  3230. from a given container once a service is created.
  3231. </summary>
  3232. </member>
  3233. <member name="M:LinFu.IoC.Interfaces.IPostProcessor.PostProcess(LinFu.IoC.Interfaces.IServiceRequestResult)">
  3234. <summary>
  3235. Allows a <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> instance
  3236. to inspect or modify the result of a service request.
  3237. </summary>
  3238. <seealso cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" />
  3239. <param name="result">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> created as a result of the container operation.</param>
  3240. </member>
  3241. <member name="T:LinFu.IoC.Interfaces.IPreProcessor">
  3242. <summary>
  3243. Represents a class that can inspect or modify service requests
  3244. from a given container before a service is created.
  3245. </summary>
  3246. </member>
  3247. <member name="M:LinFu.IoC.Interfaces.IPreProcessor.Preprocess(LinFu.IoC.Interfaces.IServiceRequest)">
  3248. <summary>
  3249. Allows a <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> instance
  3250. to inspect or modify the result of a service request
  3251. just before the service is instantiated.
  3252. </summary>
  3253. <seealso cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" />
  3254. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequest" /> instance that describes the nature of the service that needs to be created. </param>
  3255. </member>
  3256. <member name="T:LinFu.IoC.Interfaces.IServiceContainer">
  3257. <summary>
  3258. An inversion of control container that supports
  3259. named services.
  3260. </summary>
  3261. <seealso name="IContainer" />
  3262. </member>
  3263. <member name="M:LinFu.IoC.Interfaces.IServiceContainer.AddFactory(System.String,System.Type,System.Collections.Generic.IEnumerable{System.Type},LinFu.IoC.Interfaces.IFactory)">
  3264. <summary>
  3265. Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it
  3266. with the given <paramref name="serviceType">service type</paramref> and
  3267. <paramref name="serviceName">service name</paramref>.
  3268. </summary>
  3269. <param name="serviceName">The name of the service to associate with the given <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</param>
  3270. <param name="serviceType">The type of service that the factory will be able to create.</param>
  3271. <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
  3272. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will create the object instance.</param>
  3273. </member>
  3274. <member name="M:LinFu.IoC.Interfaces.IServiceContainer.Contains(System.String,System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  3275. <summary>
  3276. Determines whether or not a service can be created using
  3277. the given <paramref name="serviceName">service name</paramref>
  3278. and <paramref name="serviceType">service type</paramref>.
  3279. </summary>
  3280. <param name="serviceName">The name of the service to associate with the given <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</param>
  3281. <param name="serviceType">The type of service that the factory will be able to create.</param>
  3282. <param name="additionalParameterTypes">The list of additional parameters that the factory type must support.</param>
  3283. <returns>Returns <c>true</c> if the service exists; otherwise, it will return <c>false</c>.</returns>
  3284. </member>
  3285. <member name="M:LinFu.IoC.Interfaces.IServiceContainer.GetService(System.String,System.Type,System.Object[])">
  3286. <summary>
  3287. Causes the container to instantiate the service with the given
  3288. <paramref name="serviceType">service type</paramref>. If the service type cannot be created, then an
  3289. exception will be thrown if the <see cref="P:LinFu.IoC.Interfaces.IContainer.SuppressErrors" /> property
  3290. is set to false. Otherwise, it will simply return null.
  3291. </summary>
  3292. <param name="serviceName">The name of the service to instantiate.</param>
  3293. <param name="serviceType">The service type to instantiate.</param>
  3294. <param name="additionalArguments">The additional arguments that will be used to instantiate the service type.</param>
  3295. <returns>If successful, it will return a service instance that is compatible with the given type;
  3296. otherwise, it will just return a <c>null</c> value.</returns>
  3297. </member>
  3298. <member name="P:LinFu.IoC.Interfaces.IServiceContainer.PreProcessors">
  3299. <summary>
  3300. The list of preprocessors that will handle
  3301. every service request before each actual service is created.
  3302. </summary>
  3303. </member>
  3304. <member name="P:LinFu.IoC.Interfaces.IServiceContainer.PostProcessors">
  3305. <summary>
  3306. The list of postprocessors that will handle every
  3307. service request result.
  3308. </summary>
  3309. </member>
  3310. <member name="T:LinFu.IoC.Interfaces.IServiceInfo">
  3311. <summary>
  3312. A class that describes a single service
  3313. provided by a container.
  3314. </summary>
  3315. </member>
  3316. <member name="P:LinFu.IoC.Interfaces.IServiceInfo.ServiceName">
  3317. <summary>
  3318. The name of the service being created. By default, this property is blank.
  3319. </summary>
  3320. </member>
  3321. <member name="P:LinFu.IoC.Interfaces.IServiceInfo.ServiceType">
  3322. <summary>
  3323. The type of service being requested.
  3324. </summary>
  3325. </member>
  3326. <member name="P:LinFu.IoC.Interfaces.IServiceInfo.ArgumentTypes">
  3327. <summary>
  3328. Gets a value indicating the list of arguments required by this particular service.
  3329. </summary>
  3330. </member>
  3331. <member name="T:LinFu.IoC.Interfaces.IServiceRequest">
  3332. <summary>
  3333. Represents a class that describes the context of a service request made to a service container.
  3334. </summary>
  3335. </member>
  3336. <member name="P:LinFu.IoC.Interfaces.IServiceRequest.Container">
  3337. <summary>
  3338. The container that will handle the service request.
  3339. </summary>
  3340. </member>
  3341. <member name="P:LinFu.IoC.Interfaces.IServiceRequest.ActualArguments">
  3342. <summary>
  3343. Gets or sets the value indicating the actual arguments that
  3344. will be used for the service request.
  3345. </summary>
  3346. </member>
  3347. <member name="P:LinFu.IoC.Interfaces.IServiceRequest.ProposedArguments">
  3348. <summary>
  3349. Gets the value indicating the original arguments that
  3350. were given during the service request.
  3351. </summary>
  3352. </member>
  3353. <member name="P:LinFu.IoC.Interfaces.IServiceRequest.ProposedFactory">
  3354. <summary>
  3355. Gets the value indicating the original <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance
  3356. that will be used to handle the service request.
  3357. </summary>
  3358. </member>
  3359. <member name="P:LinFu.IoC.Interfaces.IServiceRequest.ActualFactory">
  3360. <summary>
  3361. Gets or sets the value indicating the actual <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance
  3362. that will be used to handle the service request.
  3363. </summary>
  3364. </member>
  3365. <member name="T:LinFu.IoC.Interfaces.IServiceRequestResult">
  3366. <summary>
  3367. Represents the results returned when a service request
  3368. is made against an <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  3369. </summary>
  3370. </member>
  3371. <member name="P:LinFu.IoC.Interfaces.IServiceRequestResult.ServiceName">
  3372. <summary>
  3373. The name of the service being created. By default, this property is blank.
  3374. </summary>
  3375. </member>
  3376. <member name="P:LinFu.IoC.Interfaces.IServiceRequestResult.ServiceType">
  3377. <summary>
  3378. The type of service being requested.
  3379. </summary>
  3380. </member>
  3381. <member name="P:LinFu.IoC.Interfaces.IServiceRequestResult.OriginalResult">
  3382. <summary>
  3383. The raw object reference created by the container itself.
  3384. </summary>
  3385. </member>
  3386. <member name="P:LinFu.IoC.Interfaces.IServiceRequestResult.ActualResult">
  3387. <summary>
  3388. The result that will be returned from the container
  3389. instead of the <see cref="P:LinFu.IoC.Interfaces.IServiceRequestResult.OriginalResult" />.
  3390. If this property is null, then the original result will be used.
  3391. </summary>
  3392. </member>
  3393. <member name="P:LinFu.IoC.Interfaces.IServiceRequestResult.Container">
  3394. <summary>
  3395. The container that will handle the service request.
  3396. </summary>
  3397. </member>
  3398. <member name="P:LinFu.IoC.Interfaces.IServiceRequestResult.AdditionalArguments">
  3399. <summary>
  3400. Gets the value indicating the additional arguments that
  3401. were used during the service request.
  3402. </summary>
  3403. </member>
  3404. <member name="T:LinFu.IoC.Configuration.LifecycleType">
  3405. <summary>
  3406. An enumeration that denotes the instance behavior
  3407. of a particular object reference.
  3408. </summary>
  3409. </member>
  3410. <member name="F:LinFu.IoC.Configuration.LifecycleType.OncePerRequest">
  3411. <summary>
  3412. This means that a new object instance
  3413. will be created on each call.
  3414. </summary>
  3415. </member>
  3416. <member name="F:LinFu.IoC.Configuration.LifecycleType.OncePerThread">
  3417. <summary>
  3418. This means that a new object instance
  3419. will be created only once per thread.
  3420. </summary>
  3421. </member>
  3422. <member name="F:LinFu.IoC.Configuration.LifecycleType.Singleton">
  3423. <summary>
  3424. This means that only a single object instance
  3425. will ever be created in spite of the number of
  3426. subsequent requests for a new object instance.
  3427. </summary>
  3428. </member>
  3429. <member name="T:LinFu.IoC.CompositePostProcessor">
  3430. <summary>
  3431. Represents an <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> type that processes multiple <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> instances at once.
  3432. </summary>
  3433. </member>
  3434. <member name="M:LinFu.IoC.CompositePostProcessor.#ctor(System.Collections.Generic.IEnumerable{LinFu.IoC.Interfaces.IPostProcessor})">
  3435. <summary>
  3436. Initializes the type using the given <paramref name="postProcessors" />.
  3437. </summary>
  3438. <param name="postProcessors">The list of <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> instances that will be handled by this type.</param>
  3439. </member>
  3440. <member name="M:LinFu.IoC.CompositePostProcessor.PostProcess(LinFu.IoC.Interfaces.IServiceRequestResult)">
  3441. <summary>
  3442. A method that passes every request result made
  3443. to the list of postprocessors.
  3444. </summary>
  3445. <param name="result">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> instance that describes the result of the service request.</param>
  3446. <returns>A <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> representing the results returned as a result of the postprocessors.</returns>
  3447. </member>
  3448. <member name="T:LinFu.IoC.CompositePreProcessor">
  3449. <summary>
  3450. Represents an <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" /> type that processes multiple <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" /> instances at once.
  3451. </summary>
  3452. </member>
  3453. <member name="M:LinFu.IoC.CompositePreProcessor.#ctor(System.Collections.Generic.IEnumerable{LinFu.IoC.Interfaces.IPreProcessor})">
  3454. <summary>
  3455. Initializes the type using the given <paramref name="preProcessors" />.
  3456. </summary>
  3457. <param name="preProcessors">The list of <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" /> instances that will be handled by this type.</param>
  3458. </member>
  3459. <member name="M:LinFu.IoC.CompositePreProcessor.Preprocess(LinFu.IoC.Interfaces.IServiceRequest)">
  3460. <summary>
  3461. A method that passes every request result made
  3462. to the list of preprocessors.
  3463. </summary>
  3464. <param name="request">The parameter that describes the context of the service request.</param>
  3465. </member>
  3466. <member name="T:LinFu.IoC.Configuration.Interfaces.IContainerActivationContext">
  3467. <summary>
  3468. Represents a class that describes a request to instantiate a particular object type using a given
  3469. <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  3470. </summary>
  3471. </member>
  3472. <member name="P:LinFu.IoC.Configuration.Interfaces.IContainerActivationContext.Container">
  3473. <summary>
  3474. Gets the value indicating the <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance
  3475. that will instantiate the <see cref="P:LinFu.AOP.Interfaces.IActivationContext.TargetType" />.
  3476. </summary>
  3477. </member>
  3478. <member name="T:LinFu.IoC.Configuration.ContainerActivationContext">
  3479. <summary>
  3480. Represents a class that describes a request to instantiate a particular object type using a given
  3481. <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  3482. </summary>
  3483. </member>
  3484. <member name="M:LinFu.IoC.Configuration.ContainerActivationContext.#ctor(System.Type,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  3485. <summary>
  3486. Initializes the class with the given parameters.
  3487. </summary>
  3488. <param name="concreteType">The type to be instantiated.</param>
  3489. <param name="container">The container that will be used to instantiate the target type.</param>
  3490. <param name="additionalArguments">The additional arguments that must be passed to the constructor.</param>
  3491. </member>
  3492. <member name="P:LinFu.IoC.Configuration.ContainerActivationContext.Container">
  3493. <summary>
  3494. Gets the value indicating the <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance
  3495. that will instantiate the <see cref="P:LinFu.AOP.Interfaces.IActivationContext.TargetType" />.
  3496. </summary>
  3497. </member>
  3498. <member name="T:LinFu.IoC.Configuration.DefaultActivator">
  3499. <summary>
  3500. Represents a class that can instantiate object instances.
  3501. </summary>
  3502. </member>
  3503. <member name="M:LinFu.IoC.Configuration.DefaultActivator.CreateInstance(LinFu.IoC.Configuration.Interfaces.IContainerActivationContext)">
  3504. <summary>
  3505. Creates an object instance.
  3506. </summary>
  3507. <returns>A valid object instance.</returns>
  3508. </member>
  3509. <member name="M:LinFu.IoC.Configuration.DefaultActivator.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  3510. <summary>
  3511. Initializes the class with the default services.
  3512. </summary>
  3513. <param name="container">The target service container.</param>
  3514. </member>
  3515. <member name="T:LinFu.IoC.Configuration.InjectAttribute">
  3516. <summary>
  3517. The attribute used to mark a property for autoinjection.
  3518. </summary>
  3519. </member>
  3520. <member name="T:LinFu.IoC.Configuration.PostProcessorAttribute">
  3521. <summary>
  3522. Marks a target type as an <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" />
  3523. instance that can be injected into a
  3524. <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  3525. </summary>
  3526. </member>
  3527. <member name="T:LinFu.IoC.Configuration.PreprocessorAttribute">
  3528. <summary>
  3529. Marks a target type as an <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" />
  3530. instance that can be injected into a
  3531. <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  3532. </summary>
  3533. </member>
  3534. <member name="T:LinFu.IoC.Configuration.Interfaces.IMethodBuilder`1">
  3535. <summary>
  3536. Represents a class that is responsible for generating methods
  3537. from other existing methods.
  3538. </summary>
  3539. <typeparam name="TMethod">The method type to generate.</typeparam>
  3540. </member>
  3541. <member name="M:LinFu.IoC.Configuration.Interfaces.IMethodBuilder`1.CreateMethod(`0)">
  3542. <summary>
  3543. Creates a method from the <paramref name="existingMethod" />.
  3544. </summary>
  3545. <param name="existingMethod">The method that will be used to define the new method.</param>
  3546. <returns>A method based on the old method.</returns>
  3547. </member>
  3548. <member name="T:LinFu.IoC.Configuration.BaseMethodBuilder`1">
  3549. <summary>
  3550. Represents the default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodBuilder`1" /> interface.
  3551. </summary>
  3552. <typeparam name="TMethod">The method type to generate.</typeparam>
  3553. </member>
  3554. <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.CreateMethod(`0)">
  3555. <summary>
  3556. Creates a method from the <paramref name="existingMethod" />.
  3557. </summary>
  3558. <param name="existingMethod">The method that will be used to define the new method.</param>
  3559. <returns>A method based on the old method.</returns>
  3560. </member>
  3561. <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.PushMethodArguments(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase)">
  3562. <summary>
  3563. Pushes the method arguments onto the stack.
  3564. </summary>
  3565. <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the target method body.</param>
  3566. <param name="targetMethod">The target method that will be invoked.</param>
  3567. </member>
  3568. <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.GetParameterList(`0,System.Type[])">
  3569. <summary>
  3570. Determines the parameter types of the dynamically generated method.
  3571. </summary>
  3572. <param name="existingMethod">The target method.</param>
  3573. <param name="parameterTypes">The target method argument types.</param>
  3574. <returns>The list of <see cref="T:System.Type" /> objects that describe the signature of the method to generate.</returns>
  3575. </member>
  3576. <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.PushInstance(System.Reflection.Emit.ILGenerator,`0)">
  3577. <summary>
  3578. Pushes the method target onto the stack.
  3579. </summary>
  3580. <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> that belongs to the method body.</param>
  3581. <param name="method">The current method.</param>
  3582. </member>
  3583. <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.GetReturnType(`0)">
  3584. <summary>
  3585. Determines the return type from the target <paramref name="method" />.
  3586. </summary>
  3587. <param name="method">The target method itself.</param>
  3588. <returns>The method return type.</returns>
  3589. </member>
  3590. <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.EmitCall(System.Reflection.Emit.ILGenerator,`0)">
  3591. <summary>
  3592. Emits the instruction to call the target <paramref name="method" /></summary>
  3593. <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the target method body.</param>
  3594. <param name="method">The method that will be invoked.</param>
  3595. </member>
  3596. <member name="T:LinFu.IoC.Configuration.Interfaces.IMethodInvoke`1">
  3597. <summary>
  3598. Represents a type that can invoke a method
  3599. using a given set of method arguments.
  3600. </summary>
  3601. </member>
  3602. <member name="M:LinFu.IoC.Configuration.Interfaces.IMethodInvoke`1.Invoke(System.Object,`0,System.Object[])">
  3603. <summary>
  3604. Invokes the <paramref name="targetMethod" />
  3605. using the given <paramref name="arguments" />.
  3606. </summary>
  3607. <param name="target">The target object instance.</param>
  3608. <param name="targetMethod">The target method to invoke.</param>
  3609. <param name="arguments">The arguments to be used with the method.</param>
  3610. <returns>The method return value.</returns>
  3611. </member>
  3612. <member name="T:LinFu.IoC.Configuration.ConstructorInvoke">
  3613. <summary>
  3614. A class that invokes constructor instances.
  3615. </summary>
  3616. </member>
  3617. <member name="M:LinFu.IoC.Configuration.ConstructorInvoke.Invoke(System.Object,System.Reflection.ConstructorInfo,System.Object[])">
  3618. <summary>
  3619. Invokes the <paramref name="targetMethod" /> constructor
  3620. using the given <paramref name="arguments" />.
  3621. </summary>
  3622. <param name="target">The target object instance.</param>
  3623. <param name="targetMethod">The target method to invoke.</param>
  3624. <param name="arguments">The arguments to be used with the method.</param>
  3625. <returns>The method return value.</returns>
  3626. </member>
  3627. <member name="T:LinFu.IoC.Configuration.ConstructorMethodBuilder">
  3628. <summary>
  3629. A method builder that generates dynamic methods using existing constructors.
  3630. </summary>
  3631. </member>
  3632. <member name="M:LinFu.IoC.Configuration.ConstructorMethodBuilder.GetReturnType(System.Reflection.ConstructorInfo)">
  3633. <summary>
  3634. Returns the declaring type of the target constructor.
  3635. </summary>
  3636. <param name="constructor">
  3637. </param>
  3638. <returns>The declaring type of the target constructor.</returns>
  3639. </member>
  3640. <member name="M:LinFu.IoC.Configuration.ConstructorMethodBuilder.EmitCall(System.Reflection.Emit.ILGenerator,System.Reflection.ConstructorInfo)">
  3641. <summary>
  3642. Emits an instruction that instantiates the type associated with the
  3643. <paramref name="constructor" />.
  3644. </summary>
  3645. <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the target method body.</param>
  3646. <param name="constructor">The target constructor.</param>
  3647. </member>
  3648. <member name="T:LinFu.IoC.Configuration.Interfaces.IConstructorArgumentResolver">
  3649. <summary>
  3650. Represents a type that determines the method arguments that should be used for a given constructor.
  3651. </summary>
  3652. </member>
  3653. <member name="M:LinFu.IoC.Configuration.Interfaces.IConstructorArgumentResolver.GetConstructorArguments(System.Reflection.ConstructorInfo,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  3654. <summary>
  3655. Determines the parameter values that should be used for a given constructor.
  3656. </summary>
  3657. <param name="constructor">The target constructor.</param>
  3658. <param name="container">The host container instance.</param>
  3659. <param name="additionalArguments">The list of additional arguments that should be combined with the arguments from the container.</param>
  3660. <returns>A list of arguments that will be used for the given constructor.</returns>
  3661. </member>
  3662. <member name="T:LinFu.IoC.Configuration.Interfaces.INamedType">
  3663. <summary>
  3664. Represents a named type.
  3665. </summary>
  3666. </member>
  3667. <member name="P:LinFu.IoC.Configuration.Interfaces.INamedType.Name">
  3668. <summary>
  3669. Gets or sets a value indicating the name that will be associated with the current type.
  3670. </summary>
  3671. </member>
  3672. <member name="P:LinFu.IoC.Configuration.Interfaces.INamedType.Type">
  3673. <summary>
  3674. Gets or sets the value indicating the current target type.
  3675. </summary>
  3676. </member>
  3677. <member name="T:LinFu.IoC.Configuration.NamedType">
  3678. <summary>
  3679. Represents a named type.
  3680. </summary>
  3681. </member>
  3682. <member name="M:LinFu.IoC.Configuration.NamedType.#ctor">
  3683. <summary>
  3684. Initializes a new instance of the <see cref="T:LinFu.IoC.Configuration.NamedType" /> class.
  3685. </summary>
  3686. </member>
  3687. <member name="M:LinFu.IoC.Configuration.NamedType.#ctor(System.Type)">
  3688. <summary>
  3689. Initializes a new instance of the <see cref="T:LinFu.IoC.Configuration.NamedType" /> class.
  3690. </summary>
  3691. <param name="currentType">The current type.</param>
  3692. </member>
  3693. <member name="M:LinFu.IoC.Configuration.NamedType.#ctor(System.Reflection.ParameterInfo)">
  3694. <summary>
  3695. Initializes a new instance of the <see cref="T:LinFu.IoC.Configuration.NamedType" /> class.
  3696. </summary>
  3697. <param name="parameter">The target parameter.</param>
  3698. </member>
  3699. <member name="M:LinFu.IoC.Configuration.NamedType.#ctor(System.Reflection.PropertyInfo)">
  3700. <summary>
  3701. Initializes a new instance of the <see cref="T:LinFu.IoC.Configuration.NamedType" /> class.
  3702. </summary>
  3703. <param name="property">The target property.</param>
  3704. </member>
  3705. <member name="P:LinFu.IoC.Configuration.NamedType.Name">
  3706. <summary>
  3707. Gets or sets a value indicating the name that will be associated with the current type.
  3708. </summary>
  3709. </member>
  3710. <member name="P:LinFu.IoC.Configuration.NamedType.Type">
  3711. <summary>
  3712. Gets or sets the value indicating the current target type.
  3713. </summary>
  3714. </member>
  3715. <member name="T:LinFu.IoC.Configuration.Resolvers.ConstructorArgumentResolver">
  3716. <summary>
  3717. Represents a class that determines the method arguments that should be used for a given constructor.
  3718. </summary>
  3719. </member>
  3720. <member name="M:LinFu.IoC.Configuration.Resolvers.ConstructorArgumentResolver.GetConstructorArguments(System.Reflection.ConstructorInfo,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  3721. <summary>
  3722. Determines the parameter values that should be used for a given constructor.
  3723. </summary>
  3724. <param name="constructor">The target constructor.</param>
  3725. <param name="container">The host container instance.</param>
  3726. <param name="additionalArguments">The list of additional arguments that should be combined with the arguments from the container.</param>
  3727. <returns>A list of arguments that will be used for the given constructor.</returns>
  3728. </member>
  3729. <member name="M:LinFu.IoC.Configuration.Resolvers.ConstructorArgumentResolver.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  3730. <summary>
  3731. Initializes the class with the default services.
  3732. </summary>
  3733. <param name="container">The target service container.</param>
  3734. </member>
  3735. <member name="M:LinFu.IoC.Configuration.Resolvers.ConstructorArgumentResolver.GetMissingParameterTypes(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable{System.Object})">
  3736. <summary>
  3737. Determines which parameter types need to be supplied to invoke a particular
  3738. <paramref name="constructor" /> instance.
  3739. </summary>
  3740. <param name="constructor">The target constructor.</param>
  3741. <param name="additionalArguments">The additional arguments that will be used to invoke the constructor.</param>
  3742. <returns>The list of parameter types that are still missing parameter values.</returns>
  3743. </member>
  3744. <member name="T:LinFu.IoC.ContainerExtensions">
  3745. <summary>
  3746. A class that adds generics support to existing
  3747. <see cref="T:LinFu.IoC.Interfaces.IContainer" /> and <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  3748. instances.
  3749. </summary>
  3750. </member>
  3751. <member name="M:LinFu.IoC.ContainerExtensions.LoadFrom(LinFu.IoC.Interfaces.IServiceContainer,LinFu.Reflection.IAssemblyLoader,System.String,System.String,LinFu.Reflection.ILoader{LinFu.IoC.Interfaces.IServiceContainer})">
  3752. <summary>
  3753. Loads a set of <paramref name="searchPattern">files</paramref> from the <paramref name="directory">target directory</paramref>
  3754. using a custom <see cref="T:LinFu.Reflection.IAssemblyLoader" /> instance.
  3755. </summary>
  3756. <param name="container">The container to be loaded.</param>
  3757. <param name="assemblyLoader">The custom <see cref="T:LinFu.Reflection.IAssemblyLoader" /> that will be used to load the target assemblies from disk.</param>
  3758. <param name="directory">The target directory.</param>
  3759. <param name="searchPattern">The search pattern that describes the list of files to be loaded.</param>
  3760. <param name="customLoader">The custom loader that will be used to load the container.</param>
  3761. </member>
  3762. <member name="M:LinFu.IoC.ContainerExtensions.LoadFrom(LinFu.IoC.Interfaces.IServiceContainer,LinFu.Reflection.IAssemblyLoader,System.String,System.String)">
  3763. <summary>
  3764. Loads a set of <paramref name="searchPattern">files</paramref> from the <paramref name="directory">target directory</paramref>
  3765. using a custom <see cref="T:LinFu.Reflection.IAssemblyLoader" /> instance.
  3766. </summary>
  3767. <param name="container">The container to be loaded.</param>
  3768. <param name="assemblyLoader">The custom <see cref="T:LinFu.Reflection.IAssemblyLoader" /> that will be used to load the target assemblies from disk.</param>
  3769. <param name="directory">The target directory.</param>
  3770. <param name="searchPattern">The search pattern that describes the list of files to be loaded.</param>
  3771. </member>
  3772. <member name="M:LinFu.IoC.ContainerExtensions.LoadFrom(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.String,LinFu.Reflection.ILoader{LinFu.IoC.Interfaces.IServiceContainer})">
  3773. <summary>
  3774. Loads a set of <paramref name="searchPattern">files</paramref> from the <paramref name="directory">target directory</paramref>.
  3775. </summary>
  3776. <param name="container">The container to be loaded.</param>
  3777. <param name="directory">The target directory.</param>
  3778. <param name="searchPattern">The search pattern that describes the list of files to be loaded.</param>
  3779. <param name="customLoader">The custom loader that will be used to load the container.</param>
  3780. </member>
  3781. <member name="M:LinFu.IoC.ContainerExtensions.LoadFrom(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.String)">
  3782. <summary>
  3783. Loads a set of <paramref name="searchPattern">files</paramref> from the <paramref name="directory">target directory</paramref>.
  3784. </summary>
  3785. <param name="container">The container to be loaded.</param>
  3786. <param name="directory">The target directory.</param>
  3787. <param name="searchPattern">The search pattern that describes the list of files to be loaded.</param>
  3788. </member>
  3789. <member name="M:LinFu.IoC.ContainerExtensions.LoadFromBaseDirectory(LinFu.IoC.Interfaces.IServiceContainer,System.String)">
  3790. <summary>
  3791. Loads a set of <paramref name="searchPattern">files</paramref> from the application base directory.
  3792. </summary>
  3793. <param name="container">The container to be loaded.</param>
  3794. <param name="searchPattern">The search pattern that describes the list of files to be loaded.</param>
  3795. </member>
  3796. <member name="M:LinFu.IoC.ContainerExtensions.AutoCreateFrom(System.Type,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  3797. <summary>
  3798. Automatically instantiates a <paramref name="concreteType" />
  3799. with the constructor with the most resolvable parameters from
  3800. the given <paramref name="container" /> instance.
  3801. </summary>
  3802. <remarks>
  3803. This method only performs constructor injection on the target type. If you need any other form of injection (such as property injection), you'll need to
  3804. register your type and instantiate it with the <see cref="M:LinFu.IoC.ContainerExtensions.GetService``1(LinFu.IoC.Interfaces.IServiceContainer,System.Object[])" /> method.
  3805. </remarks>
  3806. <param name="container">The service container that contains the arguments that will automatically be injected into the constructor.</param>
  3807. <param name="concreteType">The type to instantiate.</param>
  3808. <param name="additionalArguments">The list of arguments to pass to the target type.</param>
  3809. <returns>A valid, non-null object reference.</returns>
  3810. </member>
  3811. <member name="M:LinFu.IoC.ContainerExtensions.AutoLoadFrom(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.String)">
  3812. <summary>
  3813. Automatically loads assemblies from the given <paramref name="directory" /> whenever an assembly
  3814. matching the given <paramref name="fileSpec" /> is dropped into the given directory.
  3815. </summary>
  3816. <param name="container">The service container that will automatically be configured whenever a file change is detected.</param>
  3817. <param name="directory">The target directory.</param>
  3818. <param name="fileSpec">The assembly file pattern.</param>
  3819. </member>
  3820. <member name="M:LinFu.IoC.ContainerExtensions.LoadFrom(LinFu.IoC.Interfaces.IServiceContainer,System.Reflection.Assembly)">
  3821. <summary>
  3822. Loads an existing <paramref name="assembly" /> into the container.
  3823. </summary>
  3824. <param name="container">The target container to be configured.</param>
  3825. <param name="assembly">The assembly to be loaded.</param>
  3826. </member>
  3827. <member name="M:LinFu.IoC.ContainerExtensions.CreateDefaultContainerLoader(LinFu.Reflection.ILoader{LinFu.IoC.Interfaces.IServiceContainer})">
  3828. <summary>
  3829. Generates the default <see cref="T:LinFu.IoC.Configuration.AssemblyContainerLoader" /> for a <see cref="T:LinFu.IoC.Configuration.Loader" /> class instance.
  3830. </summary>
  3831. <param name="loader">The loader that will load the target container.</param>
  3832. <returns>A valid <see cref="T:LinFu.IoC.Configuration.AssemblyContainerLoader" /> instance.</returns>
  3833. </member>
  3834. <member name="M:LinFu.IoC.ContainerExtensions.SetCustomPropertyInjectionAttribute(LinFu.IoC.Interfaces.IServiceContainer,System.Type)">
  3835. <summary>
  3836. Sets the custom attribute type that will be used to mark properties
  3837. for automatic injection.
  3838. </summary>
  3839. <param name="container">The target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</param>
  3840. <param name="attributeType">The custom property attribute that will be used to mark properties for injection.</param>
  3841. </member>
  3842. <member name="M:LinFu.IoC.ContainerExtensions.SetCustomMethodInjectionAttribute(LinFu.IoC.Interfaces.IServiceContainer,System.Type)">
  3843. <summary>
  3844. Sets the custom attribute type that will be used to mark methods
  3845. for automatic injection.
  3846. </summary>
  3847. <param name="container">The target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</param>
  3848. <param name="attributeType">The custom property attribute that will be used to mark method for injection.</param>
  3849. </member>
  3850. <member name="M:LinFu.IoC.ContainerExtensions.SetCustomFieldInjectionAttribute(LinFu.IoC.Interfaces.IServiceContainer,System.Type)">
  3851. <summary>
  3852. Sets the custom attribute type that will be used to mark fields
  3853. for automatic injection.
  3854. </summary>
  3855. <param name="container">The target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</param>
  3856. <param name="attributeType">The custom property attribute that will be used to mark fields for injection.</param>
  3857. </member>
  3858. <member name="M:LinFu.IoC.ContainerExtensions.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  3859. <summary>
  3860. Initializes the target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  3861. with the default services.
  3862. </summary>
  3863. <param name="container">
  3864. </param>
  3865. </member>
  3866. <member name="M:LinFu.IoC.ContainerExtensions.AutoCreate(LinFu.IoC.Interfaces.IServiceContainer,System.Type,System.Object[])">
  3867. <summary>
  3868. Automatically instantiates a <paramref name="concreteType" />
  3869. with the constructor with the most resolvable parameters from
  3870. the given <paramref name="container" /> instance.
  3871. </summary>
  3872. <param name="container">The service container that contains the arguments that will automatically be injected into the constructor.</param>
  3873. <param name="concreteType">The type to instantiate.</param>
  3874. <param name="additionalArguments">The list of arguments to pass to the target type.</param>
  3875. <returns>A valid, non-null object reference.</returns>
  3876. </member>
  3877. <member name="M:LinFu.IoC.ContainerExtensions.AutoCreate``1(LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  3878. <summary>
  3879. Automatically instantiates a <typeparamref name="T" /> type
  3880. with the constructor with the most resolvable parameters from
  3881. the given <paramref name="container" /> instance.
  3882. </summary>
  3883. <typeparam name="T">The type to instantiate.</typeparam>
  3884. <param name="container">The service container that contains the arguments that will automatically be injected into the constructor.</param>
  3885. <param name="additionalArguments">The list of arguments to pass to the target type's constructors.</param>
  3886. <returns>A valid, non-null object reference.</returns>
  3887. </member>
  3888. <member name="M:LinFu.IoC.ContainerExtensions.PostProcess(LinFu.IoC.Interfaces.IServiceContainer,System.Type,System.Object,System.Object[])">
  3889. <summary>
  3890. Postprocesses an object instance as if it were created from the target <paramref name="container" />.
  3891. </summary>
  3892. <param name="container">The container that will postprocess the target <paramref name="instance" />.</param>
  3893. <param name="concreteType">The type being processed.</param>
  3894. <param name="instance">The target instance to be processed.</param>
  3895. <param name="additionalArguments">The list of arguments to pass to the target type.</param>
  3896. <returns>A valid, non-null object reference.</returns>
  3897. </member>
  3898. <member name="M:LinFu.IoC.ContainerExtensions.AutoCreateInternal(LinFu.IoC.Interfaces.IServiceContainer,System.Type,System.Object[])">
  3899. <summary>
  3900. Automatically instantiates a <paramref name="concreteType" />
  3901. with the constructor with the most resolvable parameters from
  3902. the given <paramref name="container" /> instance.
  3903. </summary>
  3904. <remarks>
  3905. This method only performs constructor injection on the target type. If you need any other form of injection (such as property injection), you'll need to
  3906. register your type and instantiate it with the <see cref="M:LinFu.IoC.ContainerExtensions.GetService``1(LinFu.IoC.Interfaces.IServiceContainer,System.Object[])" /> method.
  3907. </remarks>
  3908. <param name="container">The service container that contains the arguments that will automatically be injected into the constructor.</param>
  3909. <param name="concreteType">The type to instantiate.</param>
  3910. <param name="additionalArguments">The list of arguments to pass to the target type.</param>
  3911. <returns>A valid, non-null object reference.</returns>
  3912. </member>
  3913. <member name="M:LinFu.IoC.ContainerExtensions.AddDefaultServices(LinFu.IoC.Interfaces.IServiceContainer)">
  3914. <summary>
  3915. Initializes the container with the minimum required services.
  3916. </summary>
  3917. <param name="container">The target service container.</param>
  3918. </member>
  3919. <member name="M:LinFu.IoC.ContainerExtensions.GetService``1(LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  3920. <summary>
  3921. Creates an instance of <typeparamref name="T" />
  3922. using the given <paramref name="container" />.
  3923. </summary>
  3924. <typeparam name="T">The service type to create.</typeparam>
  3925. <param name="container">The container that will instantiate the service.</param>
  3926. <param name="additionalArguments">The additional arguments that will be used to construct the service type.</param>
  3927. <returns>If successful, it will return a service instance that is compatible with the given type;
  3928. otherwise, it will just return a <c>null</c> value.</returns>
  3929. </member>
  3930. <member name="M:LinFu.IoC.ContainerExtensions.GetService(LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Interfaces.IServiceInfo,System.Object[])">
  3931. <summary>
  3932. Instantiates a service that matches the <paramref name="info">service description</paramref>.
  3933. </summary>
  3934. <param name="container">The container that will instantiate the service.</param>
  3935. <param name="info">The description of the requested service.</param>
  3936. <param name="additionalArguments">The additional arguments that will be used to construct the service type.</param>
  3937. <returns>If successful, it will return a service instance that is compatible with the given type;
  3938. otherwise, it will just return a <c>null</c> value.</returns>
  3939. </member>
  3940. <member name="M:LinFu.IoC.ContainerExtensions.GetService``1(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Object[])">
  3941. <summary>
  3942. Creates an instance of <typeparamref name="T" />
  3943. using the given <paramref name="container" />.
  3944. </summary>
  3945. <typeparam name="T">The service type to create.</typeparam>
  3946. <param name="container">The container that will instantiate the service.</param>
  3947. <param name="serviceName">The name of the service to instantiate.</param>
  3948. <param name="additionalArguments">The additional arguments that will be used to construct the service type.</param>
  3949. <returns>If successful, it will return a service instance that is compatible with the given type;
  3950. otherwise, it will just return a <c>null</c> value.</returns>
  3951. </member>
  3952. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.Type,System.Type)">
  3953. <summary>
  3954. Configures the container to instantiate the <paramref name="implementingType" />
  3955. on every request for the <paramref name="serviceType" />.
  3956. </summary>
  3957. <param name="container">The container that will hold the service type.</param>
  3958. <param name="serviceType">The type of service being implemented.</param>
  3959. <param name="implementingType">The concrete type that will implement the service type.</param>
  3960. </member>
  3961. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.Type,LinFu.IoC.Configuration.LifecycleType)">
  3962. <summary>
  3963. Registers the <paramref name="serviceTypeToRegisterAsSelf">service type</paramref>
  3964. as both the implementing type and the service type using the given <paramref name="lifecycle" />.
  3965. </summary>
  3966. <param name="container">The container that will hold the service type.</param>
  3967. <param name="serviceTypeToRegisterAsSelf">The service type that will be registered as both the service type and the implementing type.</param>
  3968. <param name="lifecycle">The service <see cref="T:LinFu.IoC.Configuration.LifecycleType" />.</param>
  3969. </member>
  3970. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.Type)">
  3971. <summary>
  3972. Registers the <paramref name="serviceTypeToRegisterAsSelf">service type</paramref>
  3973. as both the implementing type and the service type.
  3974. </summary>
  3975. <param name="container">The container that will hold the service type.</param>
  3976. <param name="serviceTypeToRegisterAsSelf">The service type that will be registered as both the service type and the implementing type.</param>
  3977. </member>
  3978. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.Type,System.Type,LinFu.IoC.Configuration.LifecycleType)">
  3979. <summary>
  3980. Configures the container to instantiate the <paramref name="implementingType" />
  3981. on every request for the <paramref name="serviceType" />.
  3982. </summary>
  3983. <param name="container">The container that will hold the service type.</param>
  3984. <param name="serviceType">The type of service being implemented.</param>
  3985. <param name="implementingType">The concrete type that will implement the service type.</param>
  3986. <param name="lifecycle">The service <see cref="T:LinFu.IoC.Configuration.LifecycleType" />.</param>
  3987. </member>
  3988. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Type,System.Object)">
  3989. <summary>
  3990. Registers an existing service instance with the container using the given
  3991. <paramref name="serviceName" /> and <paramref name="serviceType" />.
  3992. </summary>
  3993. <param name="container">The target container instance.</param>
  3994. <param name="serviceName">The service name that will be associated with the service instance.</param>
  3995. <param name="serviceType">The target service type.</param>
  3996. <param name="serviceInstance">The actual service instance that will represent the service type.</param>
  3997. </member>
  3998. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.Type,System.Object)">
  3999. <summary>
  4000. Registers an existing service instance with the container using the given
  4001. <paramref name="serviceType" />.
  4002. </summary>
  4003. <param name="container">The target container instance.</param>
  4004. <param name="serviceType">The target service type.</param>
  4005. <param name="serviceInstance">The actual service instance that will represent the service type.</param>
  4006. </member>
  4007. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Type,System.Type,LinFu.IoC.Configuration.LifecycleType)">
  4008. <summary>
  4009. Configures the container to instantiate the <paramref name="implementingType" />
  4010. on every request for the <paramref name="serviceType" />.
  4011. </summary>
  4012. <param name="serviceName">The name of the service to associate with the given <paramref name="serviceType" />.</param>
  4013. <param name="container">The container that will hold the service type.</param>
  4014. <param name="serviceType">The type of service being implemented.</param>
  4015. <param name="implementingType">The concrete type that will implement the service type.</param>
  4016. <param name="lifecycle">The service <see cref="T:LinFu.IoC.Configuration.LifecycleType" />.</param>
  4017. </member>
  4018. <member name="M:LinFu.IoC.ContainerExtensions.AddFactory``1(LinFu.IoC.Interfaces.IServiceContainer,System.String,LinFu.IoC.Interfaces.IFactory{``0})">
  4019. <summary>
  4020. Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it
  4021. with the given <typeparamref name="T">service type</typeparamref> and
  4022. <paramref name="serviceName">service name</paramref>.
  4023. </summary>
  4024. <param name="serviceName">The name of the service to associate with the given <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</param>
  4025. <param name="container">The container that will hold the factory instance.</param>
  4026. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> instance that will create the object instance.</param>
  4027. </member>
  4028. <member name="M:LinFu.IoC.ContainerExtensions.AddFactory``1(LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Interfaces.IFactory{``0})">
  4029. <summary>
  4030. Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it
  4031. with the given <typeparamref name="T">service type</typeparamref>.
  4032. </summary>
  4033. <param name="container">The container that will hold the factory instance.</param>
  4034. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> instance that will create the object instance.</param>
  4035. </member>
  4036. <member name="M:LinFu.IoC.ContainerExtensions.AddFactory(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Type,LinFu.IoC.Interfaces.IFactory)">
  4037. <summary>
  4038. Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it with the given
  4039. <paramref name="serviceName" /> and <paramref name="serviceType" /></summary>
  4040. <param name="container">The target container.</param>
  4041. <param name="serviceName">The service name.</param>
  4042. <param name="serviceType">The service type.</param>
  4043. <param name="factory">The factory instance that will be responsible for creating the service itself.</param>
  4044. </member>
  4045. <member name="M:LinFu.IoC.ContainerExtensions.AddFactory(LinFu.IoC.Interfaces.IServiceContainer,System.Type,LinFu.IoC.Interfaces.IFactory)">
  4046. <summary>
  4047. Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it with the given
  4048. <paramref name="serviceType" /></summary>
  4049. <param name="container">The target container.</param>
  4050. <param name="serviceType">The service type.</param>
  4051. <param name="factory">The factory instance that will be responsible for creating the service itself.</param>
  4052. </member>
  4053. <member name="M:LinFu.IoC.ContainerExtensions.AddDefaultFactory(LinFu.IoC.Interfaces.IServiceContainer,System.Type,LinFu.IoC.Interfaces.IFactory)">
  4054. <summary>
  4055. Registers the <paramref name="factory" /> as the default factory instance
  4056. that will be used if no other factory can be found for the current <paramref name="serviceType" />.
  4057. </summary>
  4058. <param name="container">The host container.</param>
  4059. <param name="serviceType">The service type that will be created by the default factory.</param>
  4060. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be used if no other factories can create the given service type.</param>
  4061. </member>
  4062. <member name="M:LinFu.IoC.ContainerExtensions.AddService``1(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Func{``0})">
  4063. <summary>
  4064. Adds a service to the container by using the given <paramref name="factoryMethod" />
  4065. to instantiate the service instance.
  4066. </summary>
  4067. <typeparam name="TResult">The service type itself.</typeparam>
  4068. <param name="serviceName">The name that will be associated with the service instance.</param>
  4069. <param name="container">The host container that will instantiate the service type.</param>
  4070. <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
  4071. </member>
  4072. <member name="M:LinFu.IoC.ContainerExtensions.AddService``2(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Func{``0,``1})">
  4073. <summary>
  4074. Adds a service to the container by using the given <paramref name="factoryMethod" />
  4075. to instantiate the service instance.
  4076. </summary>
  4077. <typeparam name="TResult">The service type itself.</typeparam>
  4078. <typeparam name="T1">The first parameter type of the <paramref name="factoryMethod" />.</typeparam>
  4079. <param name="serviceName">The name that will be associated with the service instance.</param>
  4080. <param name="container">The host container that will instantiate the service type.</param>
  4081. <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
  4082. </member>
  4083. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Type,System.MulticastDelegate)">
  4084. <summary>
  4085. Adds a service to the container by using the given <paramref name="factoryMethod" />
  4086. to instantiate the service instance.
  4087. </summary>
  4088. <param name="serviceName">The name that will be associated with the service instance.</param>
  4089. <param name="container">The host container that will instantiate the service type.</param>
  4090. <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
  4091. <param name="serviceType">The service type that will be implemented.</param>
  4092. </member>
  4093. <member name="M:LinFu.IoC.ContainerExtensions.AddService``3(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Func{``0,``1,``2})">
  4094. <summary>
  4095. Adds a service to the container by using the given <paramref name="factoryMethod" />
  4096. to instantiate the service instance.
  4097. </summary>
  4098. <typeparam name="TResult">The service type itself.</typeparam>
  4099. <typeparam name="T1">The first parameter type of the <paramref name="factoryMethod" />.</typeparam>
  4100. <typeparam name="T2">The second parameter type of the <paramref name="factoryMethod" />.</typeparam>
  4101. <param name="serviceName">The name that will be associated with the service instance.</param>
  4102. <param name="container">The host container that will instantiate the service type.</param>
  4103. <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
  4104. </member>
  4105. <member name="M:LinFu.IoC.ContainerExtensions.AddService``5(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Func{``0,``1,``2,``3,``4})">
  4106. <summary>
  4107. Adds a service to the container by using the given <paramref name="factoryMethod" />
  4108. to instantiate the service instance.
  4109. </summary>
  4110. <typeparam name="TResult">The service type itself.</typeparam>
  4111. <typeparam name="T1">The first parameter type of the <paramref name="factoryMethod" />.</typeparam>
  4112. <typeparam name="T2">The second parameter type of the <paramref name="factoryMethod" />.</typeparam>
  4113. <typeparam name="T3">The third parameter type of the <paramref name="factoryMethod" />.</typeparam>
  4114. <typeparam name="T4">The third parameter type of the <paramref name="factoryMethod" />.</typeparam>
  4115. <param name="serviceName">The name that will be associated with the service instance.</param>
  4116. <param name="container">The host container that will instantiate the service type.</param>
  4117. <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
  4118. </member>
  4119. <member name="M:LinFu.IoC.ContainerExtensions.AddService``4(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Func{``0,``1,``2,``3})">
  4120. <summary>
  4121. Adds a service to the container by using the given <paramref name="factoryMethod" />
  4122. to instantiate the service instance.
  4123. </summary>
  4124. <typeparam name="TResult">The service type itself.</typeparam>
  4125. <typeparam name="T1">The first parameter type of the <paramref name="factoryMethod" />.</typeparam>
  4126. <typeparam name="T2">The second parameter type of the <paramref name="factoryMethod" />.</typeparam>
  4127. <typeparam name="T3">The third parameter type of the <paramref name="factoryMethod" />.</typeparam>
  4128. <param name="serviceName">The name that will be associated with the service instance.</param>
  4129. <param name="container">The host container that will instantiate the service type.</param>
  4130. <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
  4131. </member>
  4132. <member name="M:LinFu.IoC.ContainerExtensions.AddService``1(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Func{LinFu.IoC.Interfaces.IFactoryRequest,``0},LinFu.IoC.Configuration.LifecycleType)">
  4133. <summary>
  4134. Adds a service to the container by using the given <paramref name="factoryMethod" /> and <paramref name="lifecycleType" />
  4135. to instantiate the service instance.
  4136. </summary>
  4137. <typeparam name="T">The service type itself.</typeparam>
  4138. <param name="serviceName">The name that will be associated with the service instance.</param>
  4139. <param name="container">The host container that will instantiate the service type.</param>
  4140. <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
  4141. <param name="lifecycleType">The service <see cref="T:LinFu.IoC.Configuration.LifecycleType" /> type.</param>
  4142. </member>
  4143. <member name="M:LinFu.IoC.ContainerExtensions.AddService``1(LinFu.IoC.Interfaces.IServiceContainer,System.Func{LinFu.IoC.Interfaces.IFactoryRequest,``0},LinFu.IoC.Configuration.LifecycleType)">
  4144. <summary>
  4145. Adds a service to the container by using the given <paramref name="factoryMethod" /> and <paramref name="lifecycleType" />
  4146. to instantiate the service instance.
  4147. </summary>
  4148. <typeparam name="T">The service type itself.</typeparam>
  4149. <param name="container">The host container that will instantiate the service type.</param>
  4150. <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
  4151. <param name="lifecycleType">The service <see cref="T:LinFu.IoC.Configuration.LifecycleType" /> type.</param>
  4152. </member>
  4153. <member name="M:LinFu.IoC.ContainerExtensions.AddService``1(LinFu.IoC.Interfaces.IServiceContainer,``0)">
  4154. <summary>
  4155. Adds an existing service instance to the container.
  4156. </summary>
  4157. <typeparam name="T">The type of service being added.</typeparam>
  4158. <param name="container">The container that will hold the service instance.</param>
  4159. <param name="instance">The service instance itself.</param>
  4160. </member>
  4161. <member name="M:LinFu.IoC.ContainerExtensions.AddService``1(LinFu.IoC.Interfaces.IServiceContainer,System.String,``0)">
  4162. <summary>
  4163. Adds an existing service instance to the container and
  4164. associates it with the <paramref name="serviceName" />.
  4165. </summary>
  4166. <typeparam name="T">The type of service being added.</typeparam>
  4167. <param name="container">The container that will hold the service instance.</param>
  4168. <param name="serviceName">The name that will be associated with the service instance.</param>
  4169. <param name="instance">The service instance itself.</param>
  4170. </member>
  4171. <member name="M:LinFu.IoC.ContainerExtensions.GetServices``1(LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  4172. <summary>
  4173. Returns all the services in the container that match the given
  4174. <typeparamref name="T">service type</typeparamref>.
  4175. </summary>
  4176. <typeparam name="T">The type of service to return.</typeparam>
  4177. <param name="container">The target container.</param>
  4178. <param name="additionalArguments">The additional arguments that will be used to construct the service type.</param>
  4179. <returns>The list of services that implement the given service type.</returns>
  4180. </member>
  4181. <member name="M:LinFu.IoC.ContainerExtensions.GetServices(LinFu.IoC.Interfaces.IServiceContainer,System.Func{LinFu.IoC.Interfaces.IServiceInfo,System.Boolean},System.Object[])">
  4182. <summary>
  4183. Returns a list of services that match the given <paramref name="condition" />.
  4184. </summary>
  4185. <param name="condition">The predicate that determines which services should be returned.</param>
  4186. <returns>A list of <see cref="T:LinFu.IoC.Interfaces.IServiceInstance" /> objects that describe the services returned as well as provide a reference to the resulting services themselves.</returns>
  4187. <param name="container">the target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</param>
  4188. <param name="additionalArguments">The additional arguments that will be used to construct the service type.</param>
  4189. </member>
  4190. <member name="M:LinFu.IoC.ContainerExtensions.Contains(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Type,System.Object[])">
  4191. <summary>
  4192. Determines whether or not the container can instantiate the given <paramref name="serviceName" />
  4193. and <paramref name="serviceType" /> using the given <paramref name="sampleArguments" />.
  4194. </summary>
  4195. <param name="container">The target container.</param>
  4196. <param name="serviceName">The name of the requested service.</param>
  4197. <param name="serviceType">The requested service type.</param>
  4198. <param name="sampleArguments">The potential arguments for the service type.</param>
  4199. <returns>Returns <c>true</c> if the requested services exist; otherwise, it will return <c>false</c>.</returns>
  4200. </member>
  4201. <member name="M:LinFu.IoC.ContainerExtensions.Contains(LinFu.IoC.Interfaces.IServiceContainer,System.Type)">
  4202. <summary>
  4203. Determines whether or not the container contains a service that matches
  4204. the given <paramref name="serviceType" />.
  4205. </summary>
  4206. <param name="container">The target container.</param>
  4207. <param name="serviceType">The requested service type.</param>
  4208. <returns>Returns <c>true</c> if the requested services exist; otherwise, it will return <c>false</c>.</returns>
  4209. </member>
  4210. <member name="M:LinFu.IoC.ContainerExtensions.Contains(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Type)">
  4211. <summary>
  4212. Determines whether or not the container contains a service that matches
  4213. the given <paramref name="serviceType" />.
  4214. </summary>
  4215. <param name="container">The target container.</param>
  4216. <param name="serviceName">The requested service name.</param>
  4217. <param name="serviceType">The requested service type.</param>
  4218. <returns>Returns <c>true</c> if the requested services exist; otherwise, it will return <c>false</c>.</returns>
  4219. </member>
  4220. <member name="M:LinFu.IoC.ContainerExtensions.Contains(LinFu.IoC.Interfaces.IServiceContainer,System.Func{LinFu.IoC.Interfaces.IServiceInfo,System.Boolean})">
  4221. <summary>
  4222. Determines whether or not a container contains services that match
  4223. the given <paramref name="condition" />.
  4224. </summary>
  4225. <param name="container">The target container.</param>
  4226. <param name="condition">The predicate that will be used to determine whether or not the requested services exist.</param>
  4227. <returns>Returns <c>true</c> if the requested services exist; otherwise, it will return <c>false</c>.</returns>
  4228. </member>
  4229. <member name="M:LinFu.IoC.ContainerExtensions.DisableAutoPropertyInjection(LinFu.IoC.Interfaces.IServiceContainer)">
  4230. <summary>
  4231. Disables automatic property injection for the <paramref name="container" />.
  4232. </summary>
  4233. <param name="container">The target container.</param>
  4234. </member>
  4235. <member name="M:LinFu.IoC.ContainerExtensions.DisableAutoMethodInjection(LinFu.IoC.Interfaces.IServiceContainer)">
  4236. <summary>
  4237. Disables automatic method injection for the <paramref name="container" />.
  4238. </summary>
  4239. <param name="container">The target container.</param>
  4240. </member>
  4241. <member name="M:LinFu.IoC.ContainerExtensions.DisableAutoFieldInjection(LinFu.IoC.Interfaces.IServiceContainer)">
  4242. <summary>
  4243. Disables automatic field injection for the <paramref name="container" />.
  4244. </summary>
  4245. <param name="container">The target container.</param>
  4246. </member>
  4247. <member name="M:LinFu.IoC.ContainerExtensions.DisableAutoInjectionFor``1(LinFu.IoC.Interfaces.IServiceContainer)">
  4248. <summary>
  4249. Disables automatic dependency injection for members that match the specific
  4250. <typeparamref name="TMember" /> type.
  4251. </summary>
  4252. <typeparam name="TMember">The member injection type to disable.</typeparam>
  4253. <param name="container">The target container.</param>
  4254. </member>
  4255. <member name="T:LinFu.IoC.FluentExtensions">
  4256. <summary>
  4257. A class that adds fluent syntax support to <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  4258. instances.
  4259. </summary>
  4260. </member>
  4261. <member name="M:LinFu.IoC.FluentExtensions.Inject``1(LinFu.IoC.Interfaces.IServiceContainer,System.String)">
  4262. <summary>
  4263. Injects a <typeparamref name="TService" /> type
  4264. into a <paramref name="container" /> using the
  4265. given <paramref name="serviceName" /></summary>
  4266. <typeparam name="TService">The type of service to inject.</typeparam>
  4267. <param name="container">The container that will hold the actual service service instance.</param>
  4268. <param name="serviceName">The name of the service to create.</param>
  4269. <returns>A non-null <see cref="T:LinFu.IoC.Configuration.IUsingLambda`1" /> instance.</returns>
  4270. </member>
  4271. <member name="M:LinFu.IoC.FluentExtensions.Inject``1(LinFu.IoC.Interfaces.IServiceContainer)">
  4272. <summary>
  4273. Injects a <typeparamref name="TService" /> type
  4274. into a <paramref name="container" />.
  4275. </summary>
  4276. <typeparam name="TService">The type of service to inject.</typeparam>
  4277. <param name="container">The container that will hold the actual service service instance.</param>
  4278. <returns>A non-null <see cref="T:LinFu.IoC.Configuration.IUsingLambda`1" /> instance.</returns>
  4279. </member>
  4280. <member name="M:LinFu.IoC.FluentExtensions.Initialize``1(LinFu.IoC.Interfaces.IServiceContainer)">
  4281. <summary>
  4282. Initializes services that match the given <typeparamref name="TService" /> type.
  4283. </summary>
  4284. <typeparam name="TService">The service type to initialize.</typeparam>
  4285. <param name="container">The container that will create the service itself.</param>
  4286. <returns>A <see cref="T:LinFu.IoC.Configuration.Interfaces.IPropertyInjectionLambda`1" /> instance. This cannot be <c>null</c>.</returns>
  4287. </member>
  4288. <member name="M:LinFu.IoC.FluentExtensions.Initialize``1(LinFu.IoC.Interfaces.IServiceContainer,System.String)">
  4289. <summary>
  4290. Initializes services that match the given <paramref name="serviceName" /> and <typeparamref name="TService" /> type.
  4291. </summary>
  4292. <typeparam name="TService">The service type to initialize.</typeparam>
  4293. <param name="container">The container that will create the service itself.</param>
  4294. <param name="serviceName">The name of the service to initialize.</param>
  4295. <returns>A <see cref="T:LinFu.IoC.Configuration.Interfaces.IPropertyInjectionLambda`1" /> instance. This cannot be <c>null</c>.</returns>
  4296. </member>
  4297. <member name="M:LinFu.IoC.FluentExtensions.CreateAdapter``1(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,``0})">
  4298. <summary>
  4299. Converts a <see cref="T:System.Func`4" />
  4300. lambda into an equivalent <see cref="T:System.Func`4" />
  4301. instance.
  4302. </summary>
  4303. <typeparam name="TService">The type of service to create.</typeparam>
  4304. <param name="func">The lambda function to be converted.</param>
  4305. <returns>The equivalent <see cref="T:System.Func`2" />
  4306. that delegates its calls back to the <paramref name="func" /> lambda function.</returns>
  4307. </member>
  4308. <member name="T:LinFu.IoC.Configuration.ResolutionExtensions">
  4309. <summary>
  4310. Adds methods that extend LinFu.IoC to support automatic constructor resolution.
  4311. </summary>
  4312. </member>
  4313. <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.MustExistInContainer(System.Type)">
  4314. <summary>
  4315. Generates a predicate that determines whether or not a specific parameter type
  4316. exists in a container.
  4317. </summary>
  4318. <param name="parameterType">The target <see cref="T:System.Type" />. </param>
  4319. <returns>A a predicate that determines whether or not a specific type
  4320. exists in a container</returns>
  4321. </member>
  4322. <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.ExistsAsEnumerableSetOfServices(System.Type)">
  4323. <summary>
  4324. Generates a predicate that determines whether or not a specific type is actually
  4325. a list of services that can be created from a given container.
  4326. </summary>
  4327. <param name="parameterType">The target <see cref="T:System.Type" />. </param>
  4328. <returns>A a predicate that determines whether or not a specific type
  4329. exists as a list of services in a container</returns>
  4330. </member>
  4331. <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.ExistsAsServiceArray(System.Type)">
  4332. <summary>
  4333. Generates a predicate that determines whether or not a specific type is actually
  4334. a list of services that can be created from a given container.
  4335. </summary>
  4336. <param name="parameterType">The target <see cref="T:System.Type" />. </param>
  4337. <returns>A a predicate that determines whether or not a specific type
  4338. exists as a list of services in a container</returns>
  4339. </member>
  4340. <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.ResolveArgumentsFrom(System.Reflection.MethodBase,LinFu.IoC.Interfaces.IServiceContainer)">
  4341. <summary>
  4342. Builds an argument list for the <paramref name="method" />
  4343. using the given <paramref name="container" /> instance.
  4344. </summary>
  4345. <param name="method">The method that will be used to instantiate an object instance.</param>
  4346. <param name="container">The container that will provide the method arguments.</param>
  4347. <returns>An array of objects to be used with the target method.</returns>
  4348. </member>
  4349. <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.ResolveFrom(LinFu.IoC.Configuration.Interfaces.IArgumentResolver,System.Reflection.MethodBase,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  4350. <summary>
  4351. Builds an argument list for the target <paramref name="method" /> from
  4352. services embedded inside the <paramref name="container" /> instance.
  4353. </summary>
  4354. <param name="resolver">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IArgumentResolver" /> instance that will determine the method arguments.</param>
  4355. <param name="method">The target method.</param>
  4356. <param name="container">The container that will provide the method arguments.</param>
  4357. <param name="additionalArguments">The additional arguments that will be passed to the target method.</param>
  4358. <returns>An array of objects to be used with the target method.</returns>
  4359. </member>
  4360. <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.Cast(System.Collections.IEnumerable,System.Type)">
  4361. <summary>
  4362. Casts an <see cref="T:System.Collections.IEnumerable" /> set of items into an array of
  4363. <paramref name="targetElementType" /> items.
  4364. </summary>
  4365. <param name="items">The items being converted.</param>
  4366. <param name="targetElementType">The element type of the resulting array.</param>
  4367. <returns>An array of items that match the <paramref name="targetElementType" />.</returns>
  4368. </member>
  4369. <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.Cast``1(System.Collections.IEnumerable)">
  4370. <summary>
  4371. Performs a strongly typed cast against an <see cref="T:System.Collections.IEnumerable" /> instance.
  4372. </summary>
  4373. <typeparam name="T">The target element type.</typeparam>
  4374. <param name="items">The list of items being converted.</param>
  4375. <returns>An array of items that match the <typeparamref name="T" /> element type.</returns>
  4376. </member>
  4377. <member name="T:LinFu.IoC.Configuration.Interfaces.IFactoryBuilder">
  4378. <summary>
  4379. Represents a class that can generate <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instances
  4380. from a given service type, implementing type, and lifecycle.
  4381. </summary>
  4382. </member>
  4383. <member name="M:LinFu.IoC.Configuration.Interfaces.IFactoryBuilder.CreateFactory(System.Type,System.Type,LinFu.IoC.Configuration.LifecycleType)">
  4384. <summary>
  4385. Generates a <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that can create the <paramref name="serviceType" />
  4386. using the <paramref name="implementingType" /> and <paramref name="lifecycle" /> model.
  4387. </summary>
  4388. <param name="serviceType">The service type that will be created by the factory.</param>
  4389. <param name="implementingType">The concrete type that will provide the implementation for the service type.</param>
  4390. <param name="lifecycle">The instancing behavior of the given service type.</param>
  4391. <returns>A valid <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</returns>
  4392. </member>
  4393. <member name="T:LinFu.IoC.Configuration.FactoryBuilder">
  4394. <summary>
  4395. The default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IFactoryBuilder" /> class.
  4396. </summary>
  4397. </member>
  4398. <member name="M:LinFu.IoC.Configuration.FactoryBuilder.CreateFactory(System.Type,System.Type,LinFu.IoC.Configuration.LifecycleType)">
  4399. <summary>
  4400. Creates a factory instance that can create instaces of the given
  4401. <paramref name="serviceType" /> using the <paramref name="implementingType" />
  4402. as the implementation.
  4403. </summary>
  4404. <param name="serviceType">The service being implemented.</param>
  4405. <param name="implementingType">The actual type that will implement the service.</param>
  4406. <param name="lifecycle">The <see cref="T:LinFu.IoC.Configuration.LifecycleType" /> that determines the lifetime of each instance being created.</param>
  4407. <returns>A valid <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</returns>
  4408. </member>
  4409. <member name="M:LinFu.IoC.Configuration.FactoryBuilder.CreateFactory(System.Type,System.Type,System.Type)">
  4410. <summary>
  4411. Creates a factory instance that can create instaces of the given
  4412. <paramref name="serviceType" /> using the <paramref name="actualType" />
  4413. as the implementation.
  4414. </summary>
  4415. <param name="serviceType">The service being implemented.</param>
  4416. <param name="actualType">The actual type that will implement the service.</param>
  4417. <param name="factoryType">The factory type that will instantiate the target service.</param>
  4418. <returns>A valid <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</returns>
  4419. </member>
  4420. <member name="M:LinFu.IoC.Configuration.FactoryBuilder.GetActualType(System.Type,System.Type)">
  4421. <summary>
  4422. Determines the implementing concrete type from the given <paramref name="serviceType" />.
  4423. </summary>
  4424. <param name="serviceType">The service type.</param>
  4425. <param name="implementingType">The concrete class that will implement the service type.</param>
  4426. <returns>The actual implementing type.</returns>
  4427. </member>
  4428. <member name="M:LinFu.IoC.Configuration.FactoryBuilder.CreateFactoryMethod(System.Type,System.Type)">
  4429. <summary>
  4430. A <c>private</c> method that creates the factory method delegate
  4431. for use with a particular factory class.
  4432. </summary>
  4433. <seealso cref="T:LinFu.IoC.Factories.SingletonFactory`1" />
  4434. <seealso cref="T:LinFu.IoC.Factories.OncePerRequestFactory`1" />
  4435. <seealso cref="T:LinFu.IoC.Factories.OncePerThreadFactory`1" />
  4436. <param name="serviceType">The service type being instantiated.</param>
  4437. <param name="implementingType">The type that will provide the implementation for the actual service.</param>
  4438. <returns>A factory method delegate that can create the given service.</returns>
  4439. </member>
  4440. <member name="M:LinFu.IoC.Configuration.FactoryBuilder.CreateFactoryMethodInternal``2">
  4441. <summary>
  4442. A method that generates the actual lambda function that creates
  4443. the new service instance.
  4444. </summary>
  4445. <typeparam name="TService">The service type being instantiated.</typeparam>
  4446. <typeparam name="TImplementation">The type that will provide the implementation for the actual service.</typeparam>
  4447. <returns>A strongly-typed factory method delegate that can create the given service.</returns>
  4448. </member>
  4449. <member name="T:LinFu.IoC.Configuration.BaseContext`1">
  4450. <summary>
  4451. Represents a class that provides the most basic information
  4452. for executing a fluent command against a
  4453. <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  4454. </summary>
  4455. <typeparam name="TService">
  4456. </typeparam>
  4457. </member>
  4458. <member name="P:LinFu.IoC.Configuration.BaseContext`1.ServiceType">
  4459. <summary>
  4460. The service type to be created.
  4461. </summary>
  4462. </member>
  4463. <member name="P:LinFu.IoC.Configuration.BaseContext`1.ServiceName">
  4464. <summary>
  4465. The name of the service to be created.
  4466. </summary>
  4467. </member>
  4468. <member name="P:LinFu.IoC.Configuration.BaseContext`1.Container">
  4469. <summary>
  4470. The actual <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  4471. that ultimately will hold the service instance.
  4472. </summary>
  4473. </member>
  4474. <member name="T:LinFu.IoC.Configuration.ActionContext`1">
  4475. <summary>
  4476. Represents the <c>internal</c> context class that will be used to
  4477. incrementally build enough information to initialize
  4478. a specific <typeparamref name="TService" /> type once
  4479. that service has been instantiated.
  4480. </summary>
  4481. <typeparam name="TService">The service type to be created.</typeparam>
  4482. </member>
  4483. <member name="P:LinFu.IoC.Configuration.ActionContext`1.Action">
  4484. <summary>
  4485. The action that will be performed on an <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  4486. instance once the fluent command executes.
  4487. </summary>
  4488. </member>
  4489. <member name="T:LinFu.IoC.Configuration.ActionPostProcessor`1">
  4490. <summary>
  4491. Represents a postprocessor that will execute
  4492. the action associated with the given <see cref="T:LinFu.IoC.Configuration.ActionContext`1" />
  4493. instance every time the target container returns a
  4494. service with particular service name and service type.
  4495. </summary>
  4496. <typeparam name="TService">
  4497. </typeparam>
  4498. </member>
  4499. <member name="T:LinFu.IoC.Configuration.IGenerateFactory`1">
  4500. <summary>
  4501. Represents a fluent class that allows
  4502. users to create specific types of factories.
  4503. </summary>
  4504. <typeparam name="TService">The type of service being created.</typeparam>
  4505. </member>
  4506. <member name="M:LinFu.IoC.Configuration.IGenerateFactory`1.AsSingleton">
  4507. <summary>
  4508. Creates a singleton factory.
  4509. </summary>
  4510. <seealso cref="T:LinFu.IoC.Factories.SingletonFactory`1" />
  4511. </member>
  4512. <member name="M:LinFu.IoC.Configuration.IGenerateFactory`1.OncePerThread">
  4513. <summary>
  4514. Creates a once per thread factory.
  4515. </summary>
  4516. <seealso cref="T:LinFu.IoC.Factories.OncePerThreadFactory`1" />
  4517. </member>
  4518. <member name="M:LinFu.IoC.Configuration.IGenerateFactory`1.OncePerRequest">
  4519. <summary>
  4520. Creates a once per request factory.
  4521. </summary>
  4522. <seealso cref="T:LinFu.IoC.Factories.OncePerRequestFactory`1" />
  4523. </member>
  4524. <member name="T:LinFu.IoC.Configuration.GenerateFactory`1">
  4525. <summary>
  4526. Represents a fluent class that allows
  4527. users to create specific types of factories.
  4528. </summary>
  4529. <typeparam name="TService">The type of service being created.</typeparam>
  4530. </member>
  4531. <member name="M:LinFu.IoC.Configuration.GenerateFactory`1.#ctor(LinFu.IoC.Configuration.InjectionContext{`0})">
  4532. <summary>
  4533. Instantiates the class using the given
  4534. <paramref name="context" />.
  4535. </summary>
  4536. <param name="context">The <see cref="T:LinFu.IoC.Configuration.InjectionContext`1" /> instance
  4537. which will contain the information necessary to build a fluent command.</param>
  4538. </member>
  4539. <member name="M:LinFu.IoC.Configuration.GenerateFactory`1.AsSingleton">
  4540. <summary>
  4541. Creates a singleton factory.
  4542. </summary>
  4543. <seealso cref="T:LinFu.IoC.Factories.SingletonFactory`1" />
  4544. </member>
  4545. <member name="M:LinFu.IoC.Configuration.GenerateFactory`1.OncePerThread">
  4546. <summary>
  4547. Creates a once per thread factory.
  4548. </summary>
  4549. <seealso cref="T:LinFu.IoC.Factories.OncePerThreadFactory`1" />
  4550. </member>
  4551. <member name="M:LinFu.IoC.Configuration.GenerateFactory`1.OncePerRequest">
  4552. <summary>
  4553. Creates a once per request factory.
  4554. </summary>
  4555. <seealso cref="T:LinFu.IoC.Factories.OncePerRequestFactory`1" />
  4556. </member>
  4557. <member name="M:LinFu.IoC.Configuration.GenerateFactory`1.AddFactory(System.Func{System.Func{LinFu.IoC.Interfaces.IFactoryRequest,`0},LinFu.IoC.Interfaces.IFactory{`0}})">
  4558. <summary>
  4559. Adds a factory to the container by using the
  4560. <paramref name="createFactory" /> delegate to
  4561. create the actual <see cref="T:LinFu.IoC.Interfaces.IFactory`1" />
  4562. instance.
  4563. </summary>
  4564. <param name="createFactory">The delegate that will create the actual factory instance.</param>
  4565. </member>
  4566. <member name="T:LinFu.IoC.Configuration.InjectionContext`1">
  4567. <summary>
  4568. Represents the <c>internal</c> context class that will be used to
  4569. incrementally build enough information to inject a specific
  4570. <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> instance into a container.
  4571. </summary>
  4572. <typeparam name="TService">The service type to be created.</typeparam>
  4573. </member>
  4574. <member name="P:LinFu.IoC.Configuration.InjectionContext`1.FactoryMethod">
  4575. <summary>
  4576. The factory method that will be used to
  4577. instantiate the actual <typeparamref name="TService" />
  4578. instance.
  4579. </summary>
  4580. </member>
  4581. <member name="T:LinFu.IoC.Configuration.Interfaces.IPropertyInjectionLambda`1">
  4582. <summary>
  4583. Represents a fluent class that creates
  4584. a method that initializes a <typeparamref name="TService" />
  4585. instance.
  4586. </summary>
  4587. <typeparam name="TService">The service type being instantiated.</typeparam>
  4588. </member>
  4589. <member name="M:LinFu.IoC.Configuration.Interfaces.IPropertyInjectionLambda`1.With(System.Action{`0})">
  4590. <summary>
  4591. Initializes service instances with the given
  4592. <paramref name="action" />.
  4593. </summary>
  4594. <param name="action">An <see cref="T:System.Action`1" /> delegate that will be used to initialize newly created services.</param>
  4595. </member>
  4596. <member name="M:LinFu.IoC.Configuration.Interfaces.IPropertyInjectionLambda`1.With(System.Action{LinFu.IoC.Interfaces.IServiceContainer,`0})">
  4597. <summary>
  4598. Uses an action delegate to initialize a given service using
  4599. the given <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> and <typeparamref name="TService" />
  4600. instances.
  4601. </summary>
  4602. <param name="action">An <see cref="T:System.Func`2" /> delegate that will be used to initialize newly created services.</param>
  4603. </member>
  4604. <member name="T:LinFu.IoC.Configuration.PropertyInjectionLambda`1">
  4605. <summary>
  4606. Represents a fluent class that creates
  4607. a method that initializes a <typeparamref name="TService" />
  4608. instance.
  4609. </summary>
  4610. <typeparam name="TService">The service type being instantiated.</typeparam>
  4611. </member>
  4612. <member name="M:LinFu.IoC.Configuration.PropertyInjectionLambda`1.#ctor(LinFu.IoC.Configuration.ActionContext{`0})">
  4613. <summary>
  4614. Initializes the class with the <paramref name="context" />.
  4615. </summary>
  4616. <param name="context">The context that will be associated with the target container.</param>
  4617. </member>
  4618. <member name="M:LinFu.IoC.Configuration.PropertyInjectionLambda`1.With(System.Action{`0})">
  4619. <summary>
  4620. Initializes service instances with the given
  4621. <paramref name="action" />.
  4622. </summary>
  4623. <param name="action">An <see cref="T:System.Action`1" /> delegate that will be used to initialize newly created services.</param>
  4624. </member>
  4625. <member name="M:LinFu.IoC.Configuration.PropertyInjectionLambda`1.With(System.Action{LinFu.IoC.Interfaces.IServiceContainer,`0})">
  4626. <summary>
  4627. Uses an action delegate to initialize a given service using
  4628. the given <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> and <typeparamref name="TService" />
  4629. instances.
  4630. </summary>
  4631. <param name="action">An <see cref="T:System.Func`2" /> delegate that will be used to initialize newly created services.</param>
  4632. </member>
  4633. <member name="M:LinFu.IoC.Configuration.PropertyInjectionLambda`1.AddPostProcessor(LinFu.IoC.Configuration.ActionContext{`0})">
  4634. <summary>
  4635. Attaches the action associated with the <see cref="T:LinFu.IoC.Configuration.ActionContext`1" />
  4636. instance to the target container embedded within the <see cref="T:LinFu.IoC.Configuration.ActionContext`1" />
  4637. class itself.
  4638. </summary>
  4639. <param name="context">The context that will be associated with the target container.</param>
  4640. </member>
  4641. <member name="T:LinFu.IoC.Configuration.IUsingLambda`1">
  4642. <summary>
  4643. Represents a fluent class that creates
  4644. a factory method that will be used
  4645. in instantiating a specific service instance.
  4646. </summary>
  4647. <typeparam name="TService">The service type being instantiated.</typeparam>
  4648. </member>
  4649. <member name="M:LinFu.IoC.Configuration.IUsingLambda`1.Using``1">
  4650. <summary>
  4651. Creates a service instance using the
  4652. concrete <typeparamref name="TConcrete" /> type
  4653. as the implementation for the <typeparamref name="TService" />
  4654. type.
  4655. </summary>
  4656. <typeparam name="TConcrete">The concrete implementation that implements <typeparamref name="TService" />. This class must have a default constructor.</typeparam>
  4657. <returns>A non-null <see cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" /> instance that will be used to create a factory and add it to a specific container.</returns>
  4658. </member>
  4659. <member name="M:LinFu.IoC.Configuration.IUsingLambda`1.Using(System.Func{LinFu.IoC.Interfaces.IServiceContainer,System.Object[],`0})">
  4660. <summary>
  4661. Creates a service instance using the
  4662. <paramref name="factoryMethod" /> to
  4663. instantiate the service instance
  4664. with a particular factory type.
  4665. </summary>
  4666. <seealso cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" />
  4667. <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
  4668. <returns>A non-null <see cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" /> instance that will be used to create a factory and add it to a specific container.</returns>
  4669. </member>
  4670. <member name="M:LinFu.IoC.Configuration.IUsingLambda`1.Using(System.Func{LinFu.IoC.Interfaces.IServiceContainer,`0})">
  4671. <summary>
  4672. Creates a service instance using the
  4673. <paramref name="factoryMethod" /> to
  4674. instantiate the service instance
  4675. with a particular factory type.
  4676. </summary>
  4677. <seealso cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" />
  4678. <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
  4679. <returns>A non-null <see cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" /> instance that will be used to create a factory and add it to a specific container.</returns>
  4680. </member>
  4681. <member name="M:LinFu.IoC.Configuration.IUsingLambda`1.Using(System.Func{`0})">
  4682. <summary>
  4683. Creates a service instance using the
  4684. <paramref name="factoryMethod" /> to
  4685. instantiate the service instance
  4686. with a particular factory type.
  4687. </summary>
  4688. <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
  4689. <returns>A non-null <see cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" /> instance that will be used to create a factory and add it to a specific container.</returns>
  4690. </member>
  4691. <member name="T:LinFu.IoC.Configuration.UsingLambda`1">
  4692. <summary>
  4693. Represents a fluent class that creates
  4694. a factory method that will be used
  4695. in instantiating a specific service instance.
  4696. </summary>
  4697. <typeparam name="TService">The service type being instantiated.</typeparam>
  4698. </member>
  4699. <member name="M:LinFu.IoC.Configuration.UsingLambda`1.#ctor(LinFu.IoC.Configuration.InjectionContext{`0})">
  4700. <summary>
  4701. Initializes the class using the given <paramref name="context" />.
  4702. </summary>
  4703. <param name="context">the <c>internal</c> context class that will be used to
  4704. incrementally build enough information to inject a specific
  4705. <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> instance into a container.</param>
  4706. </member>
  4707. <member name="M:LinFu.IoC.Configuration.UsingLambda`1.Using``1">
  4708. <summary>
  4709. Creates a service instance using the
  4710. concrete <typeparamref name="TConcrete" /> type
  4711. as the implementation for the <typeparamref name="TService" />
  4712. type.
  4713. </summary>
  4714. <typeparam name="TConcrete">The concrete implementation that implements <typeparamref name="TService" />. This class must have a default constructor.</typeparam>
  4715. <returns>A non-null <see cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" /> instance that will be used to create a factory and add it to a specific container.</returns>
  4716. </member>
  4717. <member name="M:LinFu.IoC.Configuration.UsingLambda`1.Using(System.Func{LinFu.IoC.Interfaces.IServiceContainer,System.Object[],`0})">
  4718. <summary>
  4719. Creates a service instance using the
  4720. <paramref name="factoryMethod" /> to
  4721. instantiate the service instance
  4722. with a particular factory type.
  4723. </summary>
  4724. <seealso cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" />
  4725. <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
  4726. <returns>A non-null <see cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" /> instance that will be used to create a factory and add it to a specific container.</returns>
  4727. </member>
  4728. <member name="M:LinFu.IoC.Configuration.UsingLambda`1.Using(System.Func{LinFu.IoC.Interfaces.IServiceContainer,`0})">
  4729. <summary>
  4730. Creates a service instance using the
  4731. <paramref name="factoryMethod" /> to
  4732. instantiate the service instance
  4733. with a particular factory type.
  4734. </summary>
  4735. <seealso cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" />
  4736. <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
  4737. <returns>A non-null <see cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" /> instance that will be used to create a factory and add it to a specific container.</returns>
  4738. </member>
  4739. <member name="M:LinFu.IoC.Configuration.UsingLambda`1.Using(System.Func{`0})">
  4740. <summary>
  4741. Creates a service instance using the
  4742. <paramref name="factoryMethod" /> to
  4743. instantiate the service instance
  4744. with a particular factory type.
  4745. </summary>
  4746. <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
  4747. <returns>A non-null <see cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" /> instance that will be used to create a factory and add it to a specific container.</returns>
  4748. </member>
  4749. <member name="T:LinFu.IoC.Configuration.Initializer`1">
  4750. <summary>
  4751. A class that initializes service instances that use
  4752. the <see cref="T:LinFu.Reflection.IInitialize`1" /> interface.
  4753. </summary>
  4754. </member>
  4755. <member name="M:LinFu.IoC.Configuration.Initializer`1.#ctor(System.Func{LinFu.IoC.Interfaces.IServiceRequestResult,`0})">
  4756. <summary>
  4757. Initializes the class with the given <paramref name="getSource" /> delegate.
  4758. </summary>
  4759. <param name="getSource">The functor that will obtain the object instance that will be used to initialize a given service.</param>
  4760. </member>
  4761. <member name="M:LinFu.IoC.Configuration.Initializer`1.PostProcess(LinFu.IoC.Interfaces.IServiceRequestResult)">
  4762. <summary>
  4763. Initializes every service that implements
  4764. the <see cref="T:LinFu.Reflection.IInitialize`1" /> interface.
  4765. </summary>
  4766. <param name="result">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> instance that contains the service instance to be initialized.</param>
  4767. </member>
  4768. <member name="M:LinFu.IoC.Configuration.Initializer`1.Initialize(LinFu.Reflection.IInitialize{`0},`0)">
  4769. <summary>
  4770. Initializes the <paramref name="target" /> with the given <paramref name="source" /> instance.
  4771. </summary>
  4772. <param name="target">The target to initialize.</param>
  4773. <param name="source">The instance that will be introduced to the <see cref="T:LinFu.Reflection.IInitialize`1" /> instance.</param>
  4774. </member>
  4775. <member name="T:LinFu.IoC.Configuration.Initializer">
  4776. <summary>
  4777. A class that initializes service instances that use
  4778. the <see cref="T:LinFu.IoC.Configuration.IInitialize" /> interface.
  4779. </summary>
  4780. </member>
  4781. <member name="M:LinFu.IoC.Configuration.Initializer.#ctor">
  4782. <summary>
  4783. Initializes the class with the default settings.
  4784. </summary>
  4785. </member>
  4786. <member name="T:LinFu.IoC.Configuration.InitializerPlugin">
  4787. <summary>
  4788. A class that injects the <see cref="T:LinFu.IoC.Configuration.Initializer" /> postprocessor
  4789. into every container that is created or loaded.
  4790. </summary>
  4791. </member>
  4792. <member name="M:LinFu.IoC.Configuration.InitializerPlugin.BeginLoad(LinFu.IoC.Interfaces.IServiceContainer)">
  4793. <summary>
  4794. This override does absolutely nothing.
  4795. </summary>
  4796. <param name="target">The target container.</param>
  4797. </member>
  4798. <member name="M:LinFu.IoC.Configuration.InitializerPlugin.EndLoad(LinFu.IoC.Interfaces.IServiceContainer)">
  4799. <summary>
  4800. Injects the <see cref="T:LinFu.IoC.Configuration.Initializer" /> postprocessor into
  4801. the container.
  4802. </summary>
  4803. <param name="target">
  4804. </param>
  4805. </member>
  4806. <member name="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1">
  4807. <summary>
  4808. An interface responsible for determining which methods
  4809. should be injected.
  4810. </summary>
  4811. </member>
  4812. <member name="M:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1.GetInjectableMembers(System.Type)">
  4813. <summary>
  4814. Returns the list of <see cref="T:System.Reflection.MethodBase" /> objects
  4815. that will be injected with arbitrary values.
  4816. </summary>
  4817. <param name="targetType">The target type that contains the target methods.</param>
  4818. <returns>A set of methods that describe which methods that will injected.</returns>
  4819. </member>
  4820. <member name="T:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1">
  4821. <summary>
  4822. Defines the basic behavior of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" /> interface.
  4823. </summary>
  4824. <typeparam name="TMember">The member type that will be filtered.</typeparam>
  4825. </member>
  4826. <member name="M:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  4827. <summary>
  4828. Initializes the <see cref="T:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1" /> class.
  4829. </summary>
  4830. <param name="source">The host container.</param>
  4831. </member>
  4832. <member name="M:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1.GetInjectableMembers(System.Type)">
  4833. <summary>
  4834. Returns the list of <typeparamref name="TMember" /> objects
  4835. whose setters will injected with arbitrary values.
  4836. </summary>
  4837. <remarks>This implementation selects properties that are marked with the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />.</remarks>
  4838. <param name="targetType">The target type that contains the target properties.</param>
  4839. <returns>A set of properties that describe which parameters should be injected.</returns>
  4840. </member>
  4841. <member name="M:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1.GetMembers(System.Type,LinFu.IoC.Interfaces.IServiceContainer)">
  4842. <summary>
  4843. Determines which members should be selected from the <paramref name="targetType" />
  4844. using the <paramref name="container" /></summary>
  4845. <param name="targetType">The target type that will supply the list of members that will be filtered.</param>
  4846. <param name="container">The target container.</param>
  4847. <returns>A list of <typeparamref name="TMember" /> objects that pass the filter description.</returns>
  4848. </member>
  4849. <member name="M:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1.Filter(LinFu.IoC.Interfaces.IServiceContainer,System.Collections.Generic.IEnumerable{`0})">
  4850. <summary>
  4851. Determines which items should be injected from the <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  4852. </summary>
  4853. <param name="container">The source container that will supply the values for the selected members.</param>
  4854. <param name="items">The list of properties that will be filtered.</param>
  4855. <returns>A list of properties that will be injected.</returns>
  4856. </member>
  4857. <member name="T:LinFu.IoC.Configuration.AttributedFieldInjectionFilter">
  4858. <summary>
  4859. A default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" />
  4860. class that returns fields which have the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />
  4861. defined.
  4862. </summary>
  4863. </member>
  4864. <member name="M:LinFu.IoC.Configuration.AttributedFieldInjectionFilter.#ctor">
  4865. <summary>
  4866. Initializes the class and uses the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />
  4867. to specify which field should be automatically injected with
  4868. services from the container.
  4869. </summary>
  4870. </member>
  4871. <member name="M:LinFu.IoC.Configuration.AttributedFieldInjectionFilter.#ctor(System.Type)">
  4872. <summary>
  4873. Initializes the class and uses the <paramref name="attributeType" />
  4874. to specify which fields should be automatically injected with
  4875. services from the container.
  4876. </summary>
  4877. <param name="attributeType">The custom property attribute that will be used to mark properties for automatic injection.</param>
  4878. </member>
  4879. <member name="M:LinFu.IoC.Configuration.AttributedFieldInjectionFilter.GetMembers(System.Type,LinFu.IoC.Interfaces.IServiceContainer)">
  4880. <summary>
  4881. Determines which members should be selected from the <paramref name="targetType" />
  4882. using the <paramref name="container" /></summary>
  4883. <param name="targetType">The target type that will supply the list of members that will be filtered.</param>
  4884. <param name="container">The target container.</param>
  4885. <returns>A list of <see cref="T:System.Reflection.FieldInfo" /> objects that pass the filter description.</returns>
  4886. </member>
  4887. <member name="T:LinFu.IoC.Configuration.AttributedMethodInjectionFilter">
  4888. <summary>
  4889. A default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" />
  4890. class that returns methods which have the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />
  4891. defined.
  4892. </summary>
  4893. </member>
  4894. <member name="M:LinFu.IoC.Configuration.AttributedMethodInjectionFilter.#ctor">
  4895. <summary>
  4896. Initializes the class with the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" /> as the
  4897. default injection attribute.
  4898. </summary>
  4899. </member>
  4900. <member name="M:LinFu.IoC.Configuration.AttributedMethodInjectionFilter.#ctor(System.Type)">
  4901. <summary>
  4902. Initializes the class and uses the <paramref name="attributeType" />
  4903. as the custom injection attribute.
  4904. </summary>
  4905. <param name="attributeType">
  4906. </param>
  4907. </member>
  4908. <member name="M:LinFu.IoC.Configuration.AttributedMethodInjectionFilter.GetMembers(System.Type,LinFu.IoC.Interfaces.IServiceContainer)">
  4909. <summary>
  4910. Returns the methods that have the custom attribute type defined.
  4911. </summary>
  4912. <param name="targetType">The target type that contains the target methods.</param>
  4913. <param name="container">The host container.</param>
  4914. <returns>The list of methods that have the custom attribute type defined.</returns>
  4915. </member>
  4916. <member name="T:LinFu.IoC.Configuration.AttributedPropertyInjectionFilter">
  4917. <summary>
  4918. A default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" />
  4919. class that returns properties which have the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />
  4920. defined.
  4921. </summary>
  4922. </member>
  4923. <member name="M:LinFu.IoC.Configuration.AttributedPropertyInjectionFilter.#ctor">
  4924. <summary>
  4925. Initializes the class and uses the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />
  4926. to specify which properties should be automatically injected with
  4927. services from the container.
  4928. </summary>
  4929. </member>
  4930. <member name="M:LinFu.IoC.Configuration.AttributedPropertyInjectionFilter.#ctor(System.Type)">
  4931. <summary>
  4932. Initializes the class and uses the <paramref name="attributeType" />
  4933. to specify which properties should be automatically injected with
  4934. services from the container.
  4935. </summary>
  4936. <param name="attributeType">The custom property attribute that will be used to mark properties for automatic injection.</param>
  4937. </member>
  4938. <member name="M:LinFu.IoC.Configuration.AttributedPropertyInjectionFilter.Filter(LinFu.IoC.Interfaces.IServiceContainer,System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo})">
  4939. <summary>
  4940. Determines which properties should be injected from the <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  4941. </summary>
  4942. <param name="container">The source container that will supply the property values for the selected properties.</param>
  4943. <param name="properties">The list of properties to be filtered.</param>
  4944. <returns>A list of properties that should be injected.</returns>
  4945. </member>
  4946. <member name="M:LinFu.IoC.Configuration.AttributedPropertyInjectionFilter.GetMembers(System.Type,LinFu.IoC.Interfaces.IServiceContainer)">
  4947. <summary>
  4948. Determines which members should be selected from the <paramref name="targetType" />
  4949. using the <paramref name="container" /></summary>
  4950. <param name="targetType">The target type that will supply the list of members that will be filtered.</param>
  4951. <param name="container">The target container.</param>
  4952. <returns>A list of <see cref="T:System.Reflection.PropertyInfo" /> objects that pass the filter description.</returns>
  4953. </member>
  4954. <member name="T:LinFu.IoC.Configuration.Interfaces.IContainerPlugin">
  4955. <summary>
  4956. Represents an alias interface used for backward compatibility with LinFu IoC 1.0
  4957. </summary>
  4958. </member>
  4959. <member name="T:LinFu.IoC.Configuration.AutoMemberInjector`1">
  4960. <summary>
  4961. The base class that defines the behavior for automatically injecting service
  4962. instances into type member instances.
  4963. </summary>
  4964. <typeparam name="TMember">
  4965. </typeparam>
  4966. </member>
  4967. <member name="M:LinFu.IoC.Configuration.AutoMemberInjector`1.BeginLoad(LinFu.IoC.Interfaces.IServiceContainer)">
  4968. <summary>
  4969. Does absolutely nothing.
  4970. </summary>
  4971. <param name="target">The target container.</param>
  4972. </member>
  4973. <member name="M:LinFu.IoC.Configuration.AutoMemberInjector`1.EndLoad(LinFu.IoC.Interfaces.IServiceContainer)">
  4974. <summary>
  4975. Inserts the <see cref="T:LinFu.IoC.Configuration.AutoPropertyInjector" /> class at the end
  4976. of the PostProcessor chain.
  4977. </summary>
  4978. <param name="target">The target container.</param>
  4979. </member>
  4980. <member name="M:LinFu.IoC.Configuration.AutoMemberInjector`1.PostProcess(LinFu.IoC.Interfaces.IServiceRequestResult)">
  4981. <summary>
  4982. Automatically injects service instances
  4983. into properties as soon as they are initialized.
  4984. </summary>
  4985. <param name="result">The service request result that contains the service whose members will be injected with service instances.</param>
  4986. </member>
  4987. <member name="M:LinFu.IoC.Configuration.AutoMemberInjector`1.Inject(System.Object,`0,LinFu.IoC.Configuration.Interfaces.IArgumentResolver,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  4988. <summary>
  4989. Injects services from the <paramref name="container" /> into the target <paramref name="member" /> instance.
  4990. </summary>
  4991. <param name="target">The target object.</param>
  4992. <param name="member">The <typeparamref name="TMember" /> instance that will store the service instance.</param>
  4993. <param name="argumentResolver">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IArgumentResolver" /> that will determine which arguments will be assigned to the target member.</param>
  4994. <param name="additionalArguments">The additional arguments that were passed to the <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> during the instantiation process.</param>
  4995. <param name="container">The container that will provide the service instances.</param>
  4996. </member>
  4997. <member name="M:LinFu.IoC.Configuration.AutoMemberInjector`1.AutoInject(LinFu.IoC.Interfaces.IServiceRequestResult)">
  4998. <summary>
  4999. Injects a member service dependency into a target service instance.
  5000. </summary>
  5001. <param name="result">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> that will be processed for injection.</param>
  5002. </member>
  5003. <member name="T:LinFu.IoC.Configuration.AutoFieldInjector">
  5004. <summary>
  5005. A class that automatically injects fields using values
  5006. provided by an <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  5007. </summary>
  5008. </member>
  5009. <member name="M:LinFu.IoC.Configuration.AutoFieldInjector.Inject(System.Object,System.Reflection.FieldInfo,LinFu.IoC.Configuration.Interfaces.IArgumentResolver,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  5010. <summary>
  5011. Injects a field with values from a given container.
  5012. </summary>
  5013. <param name="target">The target object.</param>
  5014. <param name="member">The <see cref="T:System.Reflection.FieldInfo" /> instance that will store the service instance.</param>
  5015. <param name="argumentResolver">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IArgumentResolver" /> that will determine which values will be assigned to the target member.</param>
  5016. <param name="additionalArguments">The additional arguments that were passed to the <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> during the instantiation process. Note: This parameter will be ignored by this override.</param>
  5017. <param name="container">The container that will provide the service instances.</param>
  5018. </member>
  5019. <member name="T:LinFu.IoC.Configuration.AutoMethodInjector">
  5020. <summary>
  5021. A class that automatically invokes methods using arguments
  5022. derived from existing instances from within a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  5023. instance.
  5024. </summary>
  5025. </member>
  5026. <member name="M:LinFu.IoC.Configuration.AutoMethodInjector.Inject(System.Object,System.Reflection.MethodInfo,LinFu.IoC.Configuration.Interfaces.IArgumentResolver,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  5027. <summary>
  5028. Injects services from the <paramref name="container" /> into the target <see cref="T:System.Reflection.MethodInfo" /> instance.
  5029. </summary>
  5030. <param name="target">The target object.</param>
  5031. <param name="method">The <see cref="T:System.Reflection.MethodInfo" /> instance that will store the service instance.</param>
  5032. <param name="resolver">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IArgumentResolver" /> that will determine which arguments will be assigned to the target member.</param>
  5033. <param name="additionalArguments">The additional arguments that were passed to the <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> during the instantiation process.</param>
  5034. <param name="container">The container that will provide the service instances.</param>
  5035. </member>
  5036. <member name="T:LinFu.IoC.Configuration.AutoPropertyInjector">
  5037. <summary>
  5038. A class that automatically injects property dependencies into
  5039. service instances.
  5040. </summary>
  5041. </member>
  5042. <member name="M:LinFu.IoC.Configuration.AutoPropertyInjector.Inject(System.Object,System.Reflection.PropertyInfo,LinFu.IoC.Configuration.Interfaces.IArgumentResolver,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  5043. <summary>
  5044. Injects services from the <paramref name="container" /> into the target <see cref="T:System.Reflection.PropertyInfo" /> instance.
  5045. </summary>
  5046. <param name="target">The target object.</param>
  5047. <param name="property">The <see cref="T:System.Reflection.PropertyInfo" /> instance that will store the service instance.</param>
  5048. <param name="resolver">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IArgumentResolver" /> that will determine which arguments will be assigned to the target member.</param>
  5049. <param name="additionalArguments">The additional arguments that were passed to the <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> during the instantiation process.</param>
  5050. <param name="container">The container that will provide the service instances.</param>
  5051. </member>
  5052. <member name="T:LinFu.IoC.Configuration.Injectors.CustomFactoryInjector">
  5053. <summary>
  5054. A class that injects unnamed custom <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instances into a given
  5055. service container.
  5056. </summary>
  5057. </member>
  5058. <member name="M:LinFu.IoC.Configuration.Injectors.CustomFactoryInjector.#ctor(System.Type,LinFu.IoC.Interfaces.IFactory)">
  5059. <summary>
  5060. Initializes the class with the given service type and factory.
  5061. </summary>
  5062. <param name="serviceType">The service type that will be created by the factory.</param>
  5063. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be used to create the service instance.</param>
  5064. </member>
  5065. <member name="M:LinFu.IoC.Configuration.Injectors.CustomFactoryInjector.Preprocess(LinFu.IoC.Interfaces.IServiceRequest)">
  5066. <summary>
  5067. Injects the given factory into the target container.
  5068. </summary>
  5069. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequest" /> instance that describes the service that is currently being requested.</param>
  5070. </member>
  5071. <member name="T:LinFu.IoC.Configuration.Injectors.NullMemberInjectionFilter`1">
  5072. <summary>
  5073. Represents a type of <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" />
  5074. that always returns an empty match.
  5075. </summary>
  5076. </member>
  5077. <member name="M:LinFu.IoC.Configuration.Injectors.NullMemberInjectionFilter`1.GetInjectableMembers(System.Type)">
  5078. <summary>
  5079. Always returns an empty list of injectable members.
  5080. </summary>
  5081. <param name="targetType">The type to be injected.</param>
  5082. <returns>An empty list.</returns>
  5083. </member>
  5084. <member name="T:LinFu.IoC.Configuration.PropertyInjectionFilter">
  5085. <summary>
  5086. An <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" /> implementation
  5087. that automatically selects properties whose property types
  5088. currently exist in the target container.
  5089. </summary>
  5090. </member>
  5091. <member name="M:LinFu.IoC.Configuration.PropertyInjectionFilter.GetMembers(System.Type,LinFu.IoC.Interfaces.IServiceContainer)">
  5092. <summary>
  5093. Determines which members should be selected from the <paramref name="targetType" />
  5094. using the <paramref name="container" /></summary>
  5095. <param name="targetType">The target type that will supply the list of members that will be filtered.</param>
  5096. <param name="container">The target container.</param>
  5097. <returns>A list of <see cref="T:System.Reflection.PropertyInfo" /> objects that pass the filter description.</returns>
  5098. </member>
  5099. <member name="T:LinFu.IoC.Configuration.InMemoryAssemblyLoader">
  5100. <summary>
  5101. An assembly loader that returns an existing
  5102. <see cref="T:System.Reflection.Assembly" /> from memory.
  5103. </summary>
  5104. </member>
  5105. <member name="M:LinFu.IoC.Configuration.InMemoryAssemblyLoader.#ctor(System.Reflection.Assembly)">
  5106. <summary>
  5107. Initializes the class with an existing
  5108. <see cref="T:System.Reflection.Assembly" />.
  5109. </summary>
  5110. <param name="targetAssembly">The target assembly.</param>
  5111. </member>
  5112. <member name="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext">
  5113. <summary>
  5114. Represents the data associated with a <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinder`1" /> search.
  5115. </summary>
  5116. </member>
  5117. <member name="P:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext.TypeArguments">
  5118. <summary>
  5119. Gets or sets the value indicating the type arguments that will be passed to the target method.
  5120. </summary>
  5121. </member>
  5122. <member name="P:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext.Arguments">
  5123. <summary>
  5124. Gets or sets the value indicating the list of arguments that will be passed to the target method.
  5125. </summary>
  5126. </member>
  5127. <member name="P:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext.ReturnType">
  5128. <summary>
  5129. Gets or sets the value indicating the <see cref="T:System.Type">return type</see> of the target method.
  5130. </summary>
  5131. </member>
  5132. <member name="T:LinFu.IoC.Configuration.Interfaces.IMethodFinder`1">
  5133. <summary>
  5134. Represents a class that determines which method best matches the
  5135. services currently in the target container.
  5136. </summary>
  5137. <typeparam name="T">The method type to search.</typeparam>
  5138. </member>
  5139. <member name="M:LinFu.IoC.Configuration.Interfaces.IMethodFinder`1.GetBestMatch(System.Collections.Generic.IEnumerable{`0},LinFu.IoC.Configuration.Interfaces.IMethodFinderContext)">
  5140. <summary>
  5141. Determines which method best matches the
  5142. services currently in the target container.
  5143. </summary>
  5144. <param name="items">The list of methods to search.</param>
  5145. <param name="finderContext">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext" /> that describes the target method.</param>
  5146. <returns>Returns the method with the most resolvable parameters from the target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</returns>
  5147. </member>
  5148. <member name="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderWithContainer`1">
  5149. <summary>
  5150. Represents a method finder that uses a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance
  5151. during its method searches.
  5152. </summary>
  5153. <typeparam name="TMethod">
  5154. </typeparam>
  5155. </member>
  5156. <member name="P:LinFu.IoC.Configuration.Interfaces.IMethodFinderWithContainer`1.Container">
  5157. <summary>
  5158. Gets the value indicating the service container that will be used in the
  5159. method search.
  5160. </summary>
  5161. </member>
  5162. <member name="T:LinFu.IoC.Configuration.AssemblyContainerLoader">
  5163. <summary>
  5164. Represents a class that loads configuration information
  5165. from a given assembly.
  5166. </summary>
  5167. </member>
  5168. <member name="T:LinFu.IoC.Configuration.ITypeLoader">
  5169. <summary>
  5170. Generates one or more <see cref="T:System.Action`1" /> instances
  5171. from a given source type so that it can be used
  5172. against an <see cref="T:LinFu.IoC.Interfaces.IContainer" /> instance.
  5173. </summary>
  5174. </member>
  5175. <member name="T:LinFu.IoC.Configuration.FactoryAttributeLoader">
  5176. <summary>
  5177. A class that injects custom <see cref="T:LinFu.IoC.Interfaces.IFactory" /> and <see cref="T:LinFu.IoC.Interfaces.IFactory`1" />
  5178. instances into an <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  5179. </summary>
  5180. </member>
  5181. <member name="M:LinFu.IoC.Configuration.FactoryAttributeLoader.Load(System.Type)">
  5182. <summary>
  5183. Loads an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> and <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> instance
  5184. into a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance using the given
  5185. <paramref name="sourceType" />.
  5186. </summary>
  5187. <param name="sourceType">The input type from which one or more factories will be created.</param>
  5188. <returns>A set of <see cref="T:System.Action`1" /> instances. This cannot be null.</returns>
  5189. </member>
  5190. <member name="M:LinFu.IoC.Configuration.FactoryAttributeLoader.CanLoad(System.Type)">
  5191. <summary>
  5192. Determines whether or not the current <paramref name="sourceType" />
  5193. can be loaded.
  5194. </summary>
  5195. <param name="sourceType">The source type currently being loaded.</param>
  5196. <returns>Returns <c>true</c> if the type is a class type; otherwise, it returns <c>false</c>.</returns>
  5197. </member>
  5198. <member name="M:LinFu.IoC.Configuration.FactoryAttributeLoader.GetResults(System.Type,System.Collections.Generic.IEnumerable{LinFu.IoC.Configuration.FactoryAttribute},System.Func{LinFu.IoC.Interfaces.IFactoryRequest,System.Object})">
  5199. <summary>
  5200. Instantiates the <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instances associated with the <paramref name="sourceType" /> and
  5201. adds those factories to the target container upon initialization.
  5202. </summary>
  5203. <param name="sourceType">The <see cref="T:System.Type" /> currently being inspected.</param>
  5204. <param name="attributeList">The list of <see cref="T:LinFu.IoC.Configuration.FactoryAttribute" /> instances currently declared on on the source type.</param>
  5205. <param name="getFactoryInstance">The functor that will be responsible for generating the factory instance.</param>
  5206. <returns>A list of actions that will add the factories to the target container.</returns>
  5207. </member>
  5208. <member name="M:LinFu.IoC.Configuration.FactoryAttributeLoader.GetFactory(System.Type,System.Func{LinFu.IoC.Interfaces.IFactoryRequest,LinFu.IoC.Interfaces.IFactory},System.Collections.Generic.ICollection{System.Type})">
  5209. <summary>
  5210. Instantiates the given factory using the <paramref name="getStronglyTypedFactory">factory functor.</paramref></summary>
  5211. <param name="currentServiceType">The service type that will be created by the factory.</param>
  5212. <param name="getStronglyTypedFactory">The functor that will be responsible for creating the factory itself.</param>
  5213. <param name="implementedInterfaces">The list of <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> interfaces that are implemented by the source type.</param>
  5214. <returns>A valid factory instance.</returns>
  5215. </member>
  5216. <member name="T:LinFu.IoC.Configuration.Loaders.ImplementsAttributeLoader">
  5217. <summary>
  5218. A loader class that scans a type for <see cref="T:LinFu.IoC.Configuration.ImplementsAttribute" />
  5219. attribute declarations and creates a factory for each corresponding
  5220. attribute instance.
  5221. </summary>
  5222. <seealso cref="T:LinFu.IoC.Interfaces.IFactory" />
  5223. </member>
  5224. <member name="M:LinFu.IoC.Configuration.Loaders.ImplementsAttributeLoader.Load(System.Type)">
  5225. <summary>
  5226. Converts a given <see cref="T:System.Type" /> into
  5227. a set of <see cref="T:System.Action`1" /> instances so that
  5228. the <see cref="T:LinFu.IoC.Interfaces.IContainer" /> instance can be loaded
  5229. with the given factories.
  5230. </summary>
  5231. <param name="sourceType">The input type from which one or more factories will be created.</param>
  5232. <returns>A set of <see cref="T:System.Action`1" /> instances. This cannot be null.</returns>
  5233. </member>
  5234. <member name="M:LinFu.IoC.Configuration.Loaders.ImplementsAttributeLoader.CanLoad(System.Type)">
  5235. <summary>
  5236. Determines whether or not the current <paramref name="sourceType" />
  5237. can be loaded.
  5238. </summary>
  5239. <param name="sourceType">The source type currently being loaded.</param>
  5240. <returns>Returns <c>true</c> if the type is a class type; otherwise, it returns <c>false</c>.</returns>
  5241. </member>
  5242. <member name="M:LinFu.IoC.Configuration.Loaders.ImplementsAttributeLoader.CreateFactory(System.Type,System.Type,LinFu.IoC.Configuration.LifecycleType)">
  5243. <summary>
  5244. Creates a factory instance that can create instaces of the given
  5245. <paramref name="serviceType" /> using the <paramref name="implementingType" />
  5246. as the implementation.
  5247. </summary>
  5248. <param name="serviceType">The service being implemented.</param>
  5249. <param name="implementingType">The actual type that will implement the service.</param>
  5250. <param name="lifecycle">The <see cref="T:LinFu.IoC.Configuration.LifecycleType" /> that determines the lifetime of each instance being created.</param>
  5251. <returns>A valid <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</returns>
  5252. </member>
  5253. <member name="T:LinFu.IoC.Configuration.Loader">
  5254. <summary>
  5255. Represents a class that can dynamically configure
  5256. <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instances at runtime.
  5257. </summary>
  5258. </member>
  5259. <member name="M:LinFu.IoC.Configuration.Loader.#ctor">
  5260. <summary>
  5261. Initializes the loader using the default values.
  5262. </summary>
  5263. </member>
  5264. <member name="P:LinFu.IoC.Configuration.Loader.AssemblyLoader">
  5265. <summary>
  5266. Gets or sets the value indicating the <see cref="T:LinFu.Reflection.IAssemblyLoader" /> instance
  5267. that will be used to load assemblies into memory.
  5268. </summary>
  5269. </member>
  5270. <member name="T:LinFu.IoC.Configuration.Loaders.PostProcessorLoader">
  5271. <summary>
  5272. A class that automatically loads <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" />
  5273. instances and configures a loader to inject those postprocessors
  5274. into a container upon initialization.
  5275. </summary>
  5276. </member>
  5277. <member name="M:LinFu.IoC.Configuration.Loaders.PostProcessorLoader.CanLoad(System.Type)">
  5278. <summary>
  5279. Determines if the plugin loader can load the <paramref name="inputType" />.
  5280. </summary>
  5281. <remarks>The target type must implement the <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> interface before it can be loaded into memory.</remarks>
  5282. <param name="inputType">The target type that might contain the target instance.</param>
  5283. <returns>
  5284. <c>true</c> if the type can be loaded; otherwise, it returns <c>false</c>.</returns>
  5285. </member>
  5286. <member name="M:LinFu.IoC.Configuration.Loaders.PostProcessorLoader.Load(System.Type)">
  5287. <summary>
  5288. Loads a set of <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> instances
  5289. so that they can be loaded into a container upon initialization.
  5290. </summary>
  5291. <param name="inputType">The type that will be used to configure the target loader.</param>
  5292. <returns>A set of <see cref="T:System.Action`1" /> instances. This cannot be <c>null</c>.</returns>
  5293. </member>
  5294. <member name="T:LinFu.IoC.Configuration.Loaders.PreProcessorLoader">
  5295. <summary>
  5296. A class that automatically loads <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" />
  5297. instances and configures a loader to inject those postprocessors
  5298. into a container upon initialization.
  5299. </summary>
  5300. </member>
  5301. <member name="M:LinFu.IoC.Configuration.Loaders.PreProcessorLoader.CanLoad(System.Type)">
  5302. <summary>
  5303. Determines if the plugin loader can load the <paramref name="inputType" />.
  5304. </summary>
  5305. <remarks>The target type must implement the <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" /> interface before it can be loaded into memory.</remarks>
  5306. <param name="inputType">The target type that might contain the target instance.</param>
  5307. <returns>
  5308. <c>true</c> if the type can be loaded; otherwise, it returns <c>false</c>.</returns>
  5309. </member>
  5310. <member name="M:LinFu.IoC.Configuration.Loaders.PreProcessorLoader.Load(System.Type)">
  5311. <summary>
  5312. Loads a set of <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" /> instances
  5313. so that they can be loaded into a container upon initialization.
  5314. </summary>
  5315. <param name="inputType">The type that will be used to configure the target loader.</param>
  5316. <returns>A set of <see cref="T:System.Action`1" /> instances. This cannot be <c>null</c>.</returns>
  5317. </member>
  5318. <member name="T:LinFu.IoC.Configuration.MethodBuilder">
  5319. <summary>
  5320. A class that dynamically generates calls to a <see cref="T:System.Reflection.MethodInfo" /> instance.
  5321. </summary>
  5322. </member>
  5323. <member name="M:LinFu.IoC.Configuration.MethodBuilder.PushInstance(System.Reflection.Emit.ILGenerator,System.Reflection.MethodInfo)">
  5324. <summary>
  5325. Pushes the method target onto the evaluation stack.
  5326. </summary>
  5327. <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the method body.</param>
  5328. <param name="method">The target method.</param>
  5329. </member>
  5330. <member name="M:LinFu.IoC.Configuration.MethodBuilder.PushMethodArguments(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase)">
  5331. <summary>
  5332. Pushes the method arguments onto the stack.
  5333. </summary>
  5334. <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the target method body.</param>
  5335. <param name="targetMethod">The target method that will be invoked.</param>
  5336. </member>
  5337. <member name="M:LinFu.IoC.Configuration.MethodBuilder.GetReturnType(System.Reflection.MethodInfo)">
  5338. <summary>
  5339. Determines the return type from the target <paramref name="method" />.
  5340. </summary>
  5341. <param name="method">The target method itself.</param>
  5342. <returns>The method return type.</returns>
  5343. </member>
  5344. <member name="M:LinFu.IoC.Configuration.MethodBuilder.GetParameterList(System.Reflection.MethodInfo,System.Type[])">
  5345. <summary>
  5346. Determines the parameter types of the dynamically generated method.
  5347. </summary>
  5348. <param name="existingMethod">The target method.</param>
  5349. <param name="parameterTypes">The target method argument types.</param>
  5350. <returns>The list of <see cref="T:System.Type" /> objects that describe the signature of the method to generate.</returns>
  5351. <remarks>This override will add an additional parameter type to accomodate the method target.</remarks>
  5352. </member>
  5353. <member name="M:LinFu.IoC.Configuration.MethodBuilder.EmitCall(System.Reflection.Emit.ILGenerator,System.Reflection.MethodInfo)">
  5354. <summary>
  5355. Emits the instruction to call the target <paramref name="method" /></summary>
  5356. <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the target method body.</param>
  5357. <param name="method">The method that will be invoked.</param>
  5358. </member>
  5359. <member name="T:LinFu.IoC.Configuration.BaseMethodInvoke`1">
  5360. <summary>
  5361. Represents the default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodInvoke`1" /> interface.
  5362. </summary>
  5363. </member>
  5364. <member name="M:LinFu.IoC.Configuration.BaseMethodInvoke`1.#ctor">
  5365. <summary>
  5366. Initializes the class with the default values.
  5367. </summary>
  5368. </member>
  5369. <member name="M:LinFu.IoC.Configuration.BaseMethodInvoke`1.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  5370. <summary>
  5371. Initializes the class with the <paramref name="source">source service container.</paramref></summary>
  5372. <param name="source">The <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance that will initialize this class.</param>
  5373. </member>
  5374. <member name="M:LinFu.IoC.Configuration.BaseMethodInvoke`1.Invoke(System.Object,`0,System.Object[])">
  5375. <summary>
  5376. Instantiates an object instance with the <paramref name="targetMethod" />
  5377. and <paramref name="arguments" />.
  5378. </summary>
  5379. <param name="target">The target object reference. In this particular case, this parameter will be ignored.</param>
  5380. <param name="targetMethod">The target method.</param>
  5381. <param name="arguments">The arguments to be used with the method.</param>
  5382. <returns>An object reference that represents the method return value.</returns>
  5383. </member>
  5384. <member name="M:LinFu.IoC.Configuration.BaseMethodInvoke`1.DoInvoke(System.Object,`0,System.Reflection.MethodBase,System.Object[])">
  5385. <summary>
  5386. Invokes the <paramref name="targetMethod" /> with the given <paramref name="arguments" />.
  5387. </summary>
  5388. <param name="target">The target instance.</param>
  5389. <param name="originalMethod">The original method that describes the target method.</param>
  5390. <param name="targetMethod">The actual method that will be invoked.</param>
  5391. <param name="arguments">The method arguments.</param>
  5392. <returns>The return value from the target method.</returns>
  5393. </member>
  5394. <member name="M:LinFu.IoC.Configuration.BaseMethodInvoke`1.GenerateTargetMethod(`0)">
  5395. <summary>
  5396. Creates a <see cref="T:System.Reflection.Emit.DynamicMethod" /> that will be used as the
  5397. factory method and stores it in the method cache.
  5398. </summary>
  5399. <param name="targetMethod">The constructor that will be used to instantiate the target type.</param>
  5400. </member>
  5401. <member name="P:LinFu.IoC.Configuration.BaseMethodInvoke`1.MethodBuilder">
  5402. <summary>
  5403. Gets or sets the value indicating the method builder that will be used to
  5404. create the target method.
  5405. </summary>
  5406. </member>
  5407. <member name="T:LinFu.IoC.Configuration.MethodFinderContext">
  5408. <summary>
  5409. Represents the data associated with a <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinder`1" /> search.
  5410. </summary>
  5411. </member>
  5412. <member name="M:LinFu.IoC.Configuration.MethodFinderContext.#ctor(System.Object[])">
  5413. <summary>
  5414. Initializes the context with the default values.
  5415. </summary>
  5416. <param name="arguments">The list of arguments that will be passed to the target method.</param>
  5417. </member>
  5418. <member name="M:LinFu.IoC.Configuration.MethodFinderContext.#ctor(System.Collections.Generic.IEnumerable{System.Type},System.Collections.Generic.IEnumerable{System.Object},System.Type)">
  5419. <summary>
  5420. Initializes the context with the default values.
  5421. </summary>
  5422. <param name="typeArguments">The type arguments that will be used to construct the target method.</param>
  5423. <param name="arguments">The list of arguments that will be passed to the target method.</param>
  5424. <param name="returnType">The type that must be returned by the target method.</param>
  5425. </member>
  5426. <member name="P:LinFu.IoC.Configuration.MethodFinderContext.TypeArguments">
  5427. <summary>
  5428. Gets or sets the value indicating the type arguments that will be passed to the target method.
  5429. </summary>
  5430. </member>
  5431. <member name="P:LinFu.IoC.Configuration.MethodFinderContext.Arguments">
  5432. <summary>
  5433. Gets or sets the value indicating the list of arguments that will be passed to the target method.
  5434. </summary>
  5435. </member>
  5436. <member name="P:LinFu.IoC.Configuration.MethodFinderContext.ReturnType">
  5437. <summary>
  5438. Gets or sets the value indicating the <see cref="T:System.Type">return type</see> of the target method.
  5439. </summary>
  5440. </member>
  5441. <member name="T:LinFu.IoC.Configuration.MethodInvoke">
  5442. <summary>
  5443. A class that invokes methods.
  5444. </summary>
  5445. </member>
  5446. <member name="M:LinFu.IoC.Configuration.MethodInvoke.#ctor">
  5447. <summary>
  5448. Initializes the class with the default values.
  5449. </summary>
  5450. </member>
  5451. <member name="M:LinFu.IoC.Configuration.MethodInvoke.DoInvoke(System.Object,System.Reflection.MethodInfo,System.Reflection.MethodBase,System.Object[])">
  5452. <summary>
  5453. Invokes the <paramref name="targetMethod" /> with the given <paramref name="arguments" />.
  5454. </summary>
  5455. <param name="target">The target instance.</param>
  5456. <param name="originalMethod">The original method that describes the target method.</param>
  5457. <param name="targetMethod">The actual method that will be invoked.</param>
  5458. <param name="arguments">The method arguments.</param>
  5459. <returns>The return value from the target method.</returns>
  5460. </member>
  5461. <member name="T:LinFu.IoC.Configuration.Interfaces.IPropertySetter">
  5462. <summary>
  5463. A class responsible for setting property values.
  5464. </summary>
  5465. </member>
  5466. <member name="M:LinFu.IoC.Configuration.Interfaces.IPropertySetter.Set(System.Object,System.Reflection.PropertyInfo,System.Object)">
  5467. <summary>
  5468. Sets the value of the <paramref name="targetProperty" />.
  5469. </summary>
  5470. /// <param name="target">The target instance that contains the property to be modified.</param><param name="targetProperty">The property that will store the given value.</param><param name="value">The value that will be assigned to the property.</param></member>
  5471. <member name="T:LinFu.IoC.Configuration.PropertySetter">
  5472. <summary>
  5473. A class responsible for setting property values.
  5474. </summary>
  5475. </member>
  5476. <member name="M:LinFu.IoC.Configuration.PropertySetter.Set(System.Object,System.Reflection.PropertyInfo,System.Object)">
  5477. <summary>
  5478. Sets the value of the <paramref name="targetProperty" />.
  5479. </summary>
  5480. <param name="target">The target instance that contains the property to be modified.</param>
  5481. <param name="targetProperty">The property that will store the given value.</param>
  5482. <param name="value">The value that will be assigned to the property.</param>
  5483. </member>
  5484. <member name="M:LinFu.IoC.Configuration.PropertySetter.GenerateSetter(System.Reflection.PropertyInfo)">
  5485. <summary>
  5486. Generates an <see cref="T:System.Action`2" /> delegate that will be used
  5487. as the property setter for a particular type.
  5488. </summary>
  5489. <param name="targetProperty">The property that will be modified.</param>
  5490. <returns>A property setter.</returns>
  5491. </member>
  5492. <member name="T:LinFu.IoC.Configuration.RecursiveDependencyException">
  5493. <summary>
  5494. The exception thrown when a recursive dependency is detected
  5495. inside a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  5496. </summary>
  5497. </member>
  5498. <member name="M:LinFu.IoC.Configuration.RecursiveDependencyException.#ctor(System.Collections.Generic.LinkedList{System.Type})">
  5499. <summary>
  5500. Initializes the <see cref="T:LinFu.IoC.Configuration.RecursiveDependencyException" />
  5501. class with the <paramref name="typeChain">chain</paramref>
  5502. of depedencies that caused the exception.
  5503. </summary>
  5504. <param name="typeChain">The sequence of types that caused the dependency exception.</param>
  5505. </member>
  5506. <member name="P:LinFu.IoC.Configuration.RecursiveDependencyException.TypeChain">
  5507. <summary>
  5508. Gets the value indicating the chain of types that caused the exception.
  5509. </summary>
  5510. </member>
  5511. <member name="P:LinFu.IoC.Configuration.RecursiveDependencyException.Message">
  5512. <summary>
  5513. Gets the value indicating the error message from the <see cref="T:LinFu.IoC.Configuration.RecursiveDependencyException" />.
  5514. </summary>
  5515. </member>
  5516. <member name="T:LinFu.IoC.Configuration.ReflectionMethodBuilder`1">
  5517. <summary>
  5518. Represents a <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodBuilder`1" /> type that simply lets
  5519. methods pass through it without performing any modifications to those methods.
  5520. </summary>
  5521. </member>
  5522. <member name="M:LinFu.IoC.Configuration.ReflectionMethodBuilder`1.CreateMethod(`0)">
  5523. <summary>
  5524. Returns the <paramref name="existingMethod" /> unmodified.
  5525. </summary>
  5526. <param name="existingMethod">The method to be modified.</param>
  5527. <returns>The modified method.</returns>
  5528. </member>
  5529. <member name="T:LinFu.IoC.Configuration.Interfaces.IArgumentResolver">
  5530. <summary>
  5531. Represents a type that can generate method arguments
  5532. from an existing <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  5533. </summary>
  5534. </member>
  5535. <member name="M:LinFu.IoC.Configuration.Interfaces.IArgumentResolver.ResolveFrom(System.Collections.Generic.IEnumerable{LinFu.IoC.Configuration.Interfaces.INamedType},LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  5536. <summary>
  5537. Generates constructor arguments from the given <paramref name="parameterTypes" />
  5538. and <paramref name="container" />.
  5539. </summary>
  5540. <param name="parameterTypes">The parameter types for the target method.</param>
  5541. <param name="container">The container that will provide the method arguments.</param>
  5542. <param name="additionalArguments">The additional arguments that will be passed to the target method.</param>
  5543. <returns>An array of objects that represent the arguments to be passed to the target method.</returns>
  5544. </member>
  5545. <member name="T:LinFu.IoC.Configuration.ArgumentResolver">
  5546. <summary>
  5547. Represents the default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IArgumentResolver" /> class.
  5548. </summary>
  5549. </member>
  5550. <member name="M:LinFu.IoC.Configuration.ArgumentResolver.ResolveFrom(System.Collections.Generic.IEnumerable{LinFu.IoC.Configuration.Interfaces.INamedType},LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  5551. <summary>
  5552. Generates method arguments from the given <paramref name="parameterTypes" />
  5553. and <paramref name="container" />.
  5554. </summary>
  5555. <param name="parameterTypes">The parameter types for the target method.</param>
  5556. <param name="container">The container that will provide the method arguments.</param>
  5557. <param name="additionalArguments">The additional arguments that will be passed to the target method.</param>
  5558. <returns>An array of objects that represent the arguments to be passed to the target method.</returns>
  5559. </member>
  5560. <member name="M:LinFu.IoC.Configuration.ArgumentResolver.AddArrayArgument(System.Type,LinFu.IoC.Interfaces.IServiceContainer,System.Collections.Generic.ICollection{System.Object})">
  5561. <summary>
  5562. Constructs an array of services using the services currently available
  5563. in the <paramref name="container" />.
  5564. </summary>
  5565. <param name="parameterType">The current parameter type.</param>
  5566. <param name="container">The container that will be used to build the array of services.</param>
  5567. <param name="argumentList">The list that will store new service array.</param>
  5568. </member>
  5569. <member name="M:LinFu.IoC.Configuration.ArgumentResolver.AddEnumerableArgument(System.Type,LinFu.IoC.Interfaces.IServiceContainer,System.Collections.Generic.ICollection{System.Object})">
  5570. <summary>
  5571. Determines whether or not a parameter type is an existing
  5572. list of available services and automatically constructs the
  5573. service list and adds it to the <paramref name="argumentList" />.
  5574. </summary>
  5575. <param name="parameterType">The current constructor parameter type.</param>
  5576. <param name="container">The container that will provide the argument values.</param>
  5577. <param name="argumentList">The list that will hold the arguments to be passed to the constructor.</param>
  5578. </member>
  5579. <member name="T:LinFu.IoC.Configuration.Interfaces.IMemberResolver`1">
  5580. <summary>
  5581. Represents a class that can choose a member that best matches
  5582. the services currently available in a given <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  5583. </summary>
  5584. <typeparam name="TMember">The member type that will be searched.</typeparam>
  5585. </member>
  5586. <member name="M:LinFu.IoC.Configuration.Interfaces.IMemberResolver`1.ResolveFrom(System.Type,LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Configuration.Interfaces.IMethodFinderContext)">
  5587. <summary>
  5588. Uses the <paramref name="container" /> to determine which member can be used to instantiate
  5589. a <paramref name="concreteType">concrete type</paramref>.
  5590. </summary>
  5591. <param name="concreteType">The target type.</param>
  5592. <param name="container">The container that contains the service instances that will be used to invoke the target member.</param>
  5593. <param name="finderContext">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext" /> that describes the target method.</param>
  5594. <returns>A <typeparamref name="TMember" /> instance if a match is found; otherwise, it will return <c>null</c>.</returns>
  5595. </member>
  5596. <member name="T:LinFu.IoC.Configuration.MemberResolver`1">
  5597. <summary>
  5598. Represents a class that can choose a member that best matches
  5599. the services currently available in a given <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  5600. </summary>
  5601. <typeparam name="TMember">The member type that will be searched.</typeparam>
  5602. </member>
  5603. <member name="M:LinFu.IoC.Configuration.MemberResolver`1.#ctor">
  5604. <summary>
  5605. The default constructor for the <see cref="T:LinFu.IoC.Configuration.MemberResolver`1" /> class.
  5606. </summary>
  5607. </member>
  5608. <member name="M:LinFu.IoC.Configuration.MemberResolver`1.#ctor(System.Func{LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Configuration.Interfaces.IMethodFinder{`0}})">
  5609. <summary>
  5610. Initializes the class with a <paramref name="getFinder">functor</paramref>
  5611. that will be used to instantiate the method finder that will be used in the search.
  5612. </summary>
  5613. <param name="getFinder">The functor that will be used to instantiate the method finder.</param>
  5614. </member>
  5615. <member name="M:LinFu.IoC.Configuration.MemberResolver`1.ResolveFrom(System.Type,LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Configuration.Interfaces.IMethodFinderContext)">
  5616. <summary>
  5617. Uses the <paramref name="container" /> to determine which member to use from
  5618. the <paramref name="concreteType">concrete type</paramref>.
  5619. </summary>
  5620. <param name="concreteType">The target type.</param>
  5621. <param name="container">The container that contains the member values that will be used to invoke the members.</param>
  5622. <param name="finderContext">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext" /> that describes the target method.</param>
  5623. <returns>A member instance if a match is found; otherwise, it will return <c>null</c>.</returns>
  5624. </member>
  5625. <member name="M:LinFu.IoC.Configuration.MemberResolver`1.GetMethodFinder(LinFu.IoC.Interfaces.IServiceContainer)">
  5626. <summary>
  5627. Determines the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinder`1" /> that will be used
  5628. in the method search.
  5629. </summary>
  5630. <param name="container">
  5631. </param>
  5632. <returns>
  5633. </returns>
  5634. </member>
  5635. <member name="M:LinFu.IoC.Configuration.MemberResolver`1.GetDefaultResult(System.Type)">
  5636. <summary>
  5637. The method used to retrieve the default result if no
  5638. other alternative is found.
  5639. </summary>
  5640. <param name="concreteType">The target type that contains the default member.</param>
  5641. <returns>The default member result.</returns>
  5642. </member>
  5643. <member name="M:LinFu.IoC.Configuration.MemberResolver`1.GetMembers(System.Type)">
  5644. <summary>
  5645. Lists the members associated with the <paramref name="concreteType" />.
  5646. </summary>
  5647. <param name="concreteType">The target type that contains the type members.</param>
  5648. <returns>A list of members that belong to the concrete type.</returns>
  5649. </member>
  5650. <member name="T:LinFu.IoC.Configuration.ConstructorResolver">
  5651. <summary>
  5652. Represents the default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberResolver`1" /> class.
  5653. </summary>
  5654. </member>
  5655. <member name="M:LinFu.IoC.Configuration.ConstructorResolver.#ctor">
  5656. <summary>
  5657. Initializes the class with the default values.
  5658. </summary>
  5659. </member>
  5660. <member name="M:LinFu.IoC.Configuration.ConstructorResolver.#ctor(System.Func{LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Configuration.Interfaces.IMethodFinder{System.Reflection.ConstructorInfo}})">
  5661. <summary>
  5662. Initializes the class using the custom method finder.
  5663. </summary>
  5664. <param name="getFinder">The functor that will be used to instantiate the method finder.</param>
  5665. </member>
  5666. <member name="M:LinFu.IoC.Configuration.ConstructorResolver.GetMembers(System.Type)">
  5667. <summary>
  5668. Returns the constructors that belong to the <paramref name="concreteType" />.
  5669. </summary>
  5670. <param name="concreteType">The type that contains the list of constructors.</param>
  5671. <returns>A list of constructors that belong to the <paramref name="concreteType" />.</returns>
  5672. </member>
  5673. <member name="M:LinFu.IoC.Configuration.ConstructorResolver.GetDefaultResult(System.Type)">
  5674. <summary>
  5675. Returns the parameterless constructor in case the search fails.
  5676. </summary>
  5677. <param name="concreteType">The target type that contains the default constructor.</param>
  5678. <returns>The default constructor.</returns>
  5679. </member>
  5680. <member name="T:LinFu.IoC.Configuration.MethodFinder`1">
  5681. <summary>
  5682. Represents a class that determines which method best matches the
  5683. services currently in the target container.
  5684. </summary>
  5685. <typeparam name="T">The method type to search.</typeparam>
  5686. </member>
  5687. <member name="M:LinFu.IoC.Configuration.MethodFinder`1.GetBestMatch(System.Collections.Generic.IEnumerable{`0},LinFu.IoC.Configuration.Interfaces.IMethodFinderContext)">
  5688. <summary>
  5689. Determines which method best matches the
  5690. services currently in the target container.
  5691. </summary>
  5692. <param name="items">The list of methods to search.</param>
  5693. <param name="finderContext">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext" /> that describes the target method.</param>
  5694. <returns>Returns the method with the most resolvable parameters from the target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</returns>
  5695. </member>
  5696. <member name="M:LinFu.IoC.Configuration.MethodFinder`1.SelectBestMatch(System.Collections.Generic.IEnumerable{LinFu.Finders.Interfaces.IFuzzyItem{`0}})">
  5697. <summary>
  5698. Determines which item among the <paramref name="candidates" /> is the best match.
  5699. </summary>
  5700. <param name="candidates">The list of possible matches.</param>
  5701. <returns>The best match if found; otherwise, it should return <c>null</c>.</returns>
  5702. </member>
  5703. <member name="M:LinFu.IoC.Configuration.MethodFinder`1.Rank(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{`0}},LinFu.IoC.Configuration.Interfaces.IMethodFinderContext)">
  5704. <summary>
  5705. Adds additional <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" /> to the fuzzy search list.
  5706. </summary>
  5707. <param name="methods">The list of methods to rank.</param>
  5708. <param name="finderContext">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext" /> that describes the target method.</param>
  5709. </member>
  5710. <member name="M:LinFu.IoC.Configuration.MethodFinder`1.CheckArguments(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{`0}},System.Collections.Generic.IEnumerable{System.Type})">
  5711. <summary>
  5712. Attempts to match the <paramref name="additionalArgumentTypes" /> against the <paramref name="fuzzyList">list of methods</paramref>.
  5713. </summary>
  5714. <param name="fuzzyList">The list of items currently being compared.</param>
  5715. <param name="additionalArgumentTypes">The set of <see cref="T:System.Type" /> instances that describe each supplied argument type.</param>
  5716. </member>
  5717. <member name="T:LinFu.IoC.Configuration.Resolvers.MethodFinderFromContainer`1">
  5718. <summary>
  5719. A <see cref="T:LinFu.IoC.Configuration.MethodFinder`1" /> type that uses a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  5720. instance to find a method with the most resolvable parameters.
  5721. </summary>
  5722. <typeparam name="TMethod">The method type that will be searched.</typeparam>
  5723. </member>
  5724. <member name="M:LinFu.IoC.Configuration.Resolvers.MethodFinderFromContainer`1.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  5725. <summary>
  5726. Initializes the target with the host container.
  5727. </summary>
  5728. <param name="container">The host <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</param>
  5729. </member>
  5730. <member name="M:LinFu.IoC.Configuration.Resolvers.MethodFinderFromContainer`1.CheckParameters(LinFu.Finders.Interfaces.IFuzzyItem{`0},LinFu.IoC.Interfaces.IServiceContainer,System.Int32)">
  5731. <summary>
  5732. Examines a <see cref="T:System.Reflection.ConstructorInfo" /> instance
  5733. and determines if it can be instantiated with the services embedded in
  5734. the target <paramref name="container" />.
  5735. </summary>
  5736. <param name="fuzzyItem">The <see cref="T:LinFu.Finders.FuzzyItem`1" /> that represents the constructor to be examined.</param>
  5737. <param name="container">The container that contains the services that will be used to instantiate the target type.</param>
  5738. <param name="maxIndex">Indicates the index that
  5739. marks the point where the user-supplied arguments begin.</param>
  5740. </member>
  5741. <member name="M:LinFu.IoC.Configuration.Resolvers.MethodFinderFromContainer`1.Rank(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{`0}},LinFu.IoC.Configuration.Interfaces.IMethodFinderContext)">
  5742. <summary>
  5743. Adds additional <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" /> to the fuzzy search list.
  5744. </summary>
  5745. <param name="methods">The list of methods to rank.</param>
  5746. <param name="finderContext">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext" /> that describes the target method.</param>
  5747. </member>
  5748. <member name="P:LinFu.IoC.Configuration.Resolvers.MethodFinderFromContainer`1.Container">
  5749. <summary>
  5750. Gets the value indicating the service container that will be used in the
  5751. method search.
  5752. </summary>
  5753. </member>
  5754. <member name="T:LinFu.IoC.Interfaces.IServiceInstance">
  5755. <summary>
  5756. A type that represents a service instance returned by a container.
  5757. </summary>
  5758. </member>
  5759. <member name="P:LinFu.IoC.Interfaces.IServiceInstance.ServiceInfo">
  5760. <summary>
  5761. Gets the value indicating the <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> instance
  5762. that describes the service instance itself.
  5763. </summary>
  5764. </member>
  5765. <member name="P:LinFu.IoC.Interfaces.IServiceInstance.Object">
  5766. <summary>
  5767. Gets the value indicating the service instance itself.
  5768. </summary>
  5769. </member>
  5770. <member name="T:LinFu.IoC.Configuration.ServiceInstance">
  5771. <summary>
  5772. Represents the default implementation of the <see cref="T:LinFu.IoC.Interfaces.IServiceInstance" /> interface.
  5773. </summary>
  5774. </member>
  5775. <member name="T:LinFu.IoC.Configuration.TypeCounter">
  5776. <summary>
  5777. Counts the number of occurrences of a specific type.
  5778. </summary>
  5779. </member>
  5780. <member name="M:LinFu.IoC.Configuration.TypeCounter.Increment(System.Type)">
  5781. <summary>
  5782. Increments the count for the current <paramref name="type" />.
  5783. </summary>
  5784. <param name="type">The type being counted.</param>
  5785. </member>
  5786. <member name="M:LinFu.IoC.Configuration.TypeCounter.CountOf(System.Type)">
  5787. <summary>
  5788. Returns the number of occurrences of a specific <paramref name="type" />.
  5789. </summary>
  5790. <param name="type">The type being counted.</param>
  5791. <returns>The number of occurrences for the given type.</returns>
  5792. </member>
  5793. <member name="M:LinFu.IoC.Configuration.TypeCounter.Decrement(System.Type)">
  5794. <summary>
  5795. Decrements the count for the current <paramref name="type" />.
  5796. </summary>
  5797. <param name="type">The type being counted.</param>
  5798. </member>
  5799. <member name="M:LinFu.IoC.Configuration.TypeCounter.Reset">
  5800. <summary>
  5801. Resets the counts back to zero.
  5802. </summary>
  5803. </member>
  5804. <member name="P:LinFu.IoC.Configuration.TypeCounter.AvailableTypes">
  5805. <summary>
  5806. Gets the value indicating the types that are
  5807. currently being counted.
  5808. </summary>
  5809. </member>
  5810. <member name="T:LinFu.IoC.Interfaces.ICreateInstance">
  5811. <summary>
  5812. Represents a type that can create service instances from a given <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" />.
  5813. </summary>
  5814. </member>
  5815. <member name="M:LinFu.IoC.Interfaces.ICreateInstance.CreateFrom(LinFu.IoC.Interfaces.IFactoryRequest,LinFu.IoC.Interfaces.IFactory)">
  5816. <summary>
  5817. Creates a service instance using the given <paramref name="factoryRequest" /> and <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.
  5818. </summary>
  5819. <param name="factoryRequest">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the context of the service request.</param>
  5820. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be used to instantiate the service type.</param>
  5821. <returns>A valid service instance.</returns>
  5822. </member>
  5823. <member name="T:LinFu.IoC.CreatorFromInstance">
  5824. <summary>
  5825. Represents an <see cref="T:LinFu.IoC.Interfaces.ICreateInstance" /> type that generates an object instance from an existing instance.
  5826. </summary>
  5827. </member>
  5828. <member name="M:LinFu.IoC.CreatorFromInstance.#ctor(System.Object)">
  5829. <summary>
  5830. Initializes the class with the target <paramref name="instance" />.
  5831. </summary>
  5832. <param name="instance">The instance that will be returned every time the <see cref="M:LinFu.IoC.CreatorFromInstance.CreateFrom(LinFu.IoC.Interfaces.IFactoryRequest,LinFu.IoC.Interfaces.IFactory)" /> method is called.</param>
  5833. </member>
  5834. <member name="M:LinFu.IoC.CreatorFromInstance.CreateFrom(LinFu.IoC.Interfaces.IFactoryRequest,LinFu.IoC.Interfaces.IFactory)">
  5835. <summary>
  5836. Returns the object instance that given when the <see cref="T:LinFu.IoC.CreatorFromInstance" /> class instance was initialized.
  5837. </summary>
  5838. <param name="factoryRequest">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the context of the service request.</param>
  5839. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be used to instantiate the service type.</param>
  5840. <returns>A valid service instance.</returns>
  5841. </member>
  5842. <member name="T:LinFu.IoC.DefaultCreator">
  5843. <summary>
  5844. Represents the default implementation for the <see cref="T:LinFu.IoC.Interfaces.ICreateInstance" /></summary>
  5845. </member>
  5846. <member name="M:LinFu.IoC.DefaultCreator.CreateFrom(LinFu.IoC.Interfaces.IFactoryRequest,LinFu.IoC.Interfaces.IFactory)">
  5847. <summary>
  5848. Creates a service instance using the given <paramref name="factoryRequest" /> and <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.
  5849. </summary>
  5850. <param name="factoryRequest">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the context of the service request.</param>
  5851. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be used to instantiate the service type.</param>
  5852. <returns>A valid service instance.</returns>
  5853. </member>
  5854. <member name="T:LinFu.IoC.Interfaces.IGetService">
  5855. <summary>
  5856. Represents a class that determines the behavior a <see cref="T:LinFu.IoC.ServiceContainer" /> instance.
  5857. </summary>
  5858. </member>
  5859. <member name="M:LinFu.IoC.Interfaces.IGetService.GetService(LinFu.IoC.Interfaces.IServiceRequest)">
  5860. <summary>
  5861. Causes the container to instantiate the service using the given
  5862. <paramref name="serviceRequest">service request</paramref>. If the service type cannot be created, it will simply return null.
  5863. </summary>
  5864. <returns>A valid object reference if the service can be created; otherwise, it will return <c>null</c></returns>
  5865. </member>
  5866. <member name="T:LinFu.IoC.DefaultGetServiceBehavior">
  5867. <summary>
  5868. Represents the default implementation for the <see cref="T:LinFu.IoC.Interfaces.IGetService" /> interface.
  5869. </summary>
  5870. </member>
  5871. <member name="M:LinFu.IoC.DefaultGetServiceBehavior.#ctor(LinFu.IoC.Interfaces.IServiceContainer)">
  5872. <summary>
  5873. Initializes the class with the given <paramref name="container" /> instance.
  5874. </summary>
  5875. <param name="container">The target service container.</param>
  5876. </member>
  5877. <member name="M:LinFu.IoC.DefaultGetServiceBehavior.#ctor(LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Interfaces.ICreateInstance,LinFu.IoC.Interfaces.IPreProcessor,LinFu.IoC.Interfaces.IPostProcessor)">
  5878. <summary>
  5879. Initializes the class with the given <paramref name="container" /> instance.
  5880. </summary>
  5881. <param name="container">The target service container.</param>
  5882. <param name="creator">The <see cref="T:LinFu.IoC.Interfaces.ICreateInstance" /> instance responsible for instantiating service types.</param>
  5883. <param name="preProcessor">The <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" /> that will allow users to intercept a given service request.</param>
  5884. <param name="postProcessor">The <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> instance that will handle the results of a given service request.</param>
  5885. </member>
  5886. <member name="M:LinFu.IoC.DefaultGetServiceBehavior.GetService(LinFu.IoC.Interfaces.IServiceRequest)">
  5887. <summary>
  5888. Instantiates the service described by the <paramref name="serviceRequest" />.
  5889. </summary>
  5890. <param name="serviceRequest">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequest" /> that describes the service that needs to be instantiated.</param>
  5891. <returns>A valid object reference if the service can be found; otherwise, it will return <c>null</c>.</returns>
  5892. </member>
  5893. <member name="T:LinFu.IoC.Interfaces.IFactory`1">
  5894. <summary>
  5895. A strongly-typed version of <see cref="T:LinFu.IoC.Interfaces.IFactory" />. Allows users
  5896. to create their own service instances
  5897. </summary>
  5898. <typeparam name="T">The instance type that can be created by this factory.</typeparam>
  5899. </member>
  5900. <member name="M:LinFu.IoC.Interfaces.IFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  5901. <summary>
  5902. Creates a service instance using the given <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance.
  5903. </summary>
  5904. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  5905. <returns>An object instance that represents the service to be created. This cannot be <c>null</c>.</returns>
  5906. </member>
  5907. <member name="T:LinFu.IoC.Factories.BaseFactory`1">
  5908. <summary>
  5909. A factory base class that combines both the IFactory and
  5910. the IFactory&lt;T&gt; interfaces into a single class.
  5911. </summary>
  5912. <typeparam name="T">
  5913. </typeparam>
  5914. </member>
  5915. <member name="M:LinFu.IoC.Factories.BaseFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  5916. <summary>
  5917. Creates a service instance using the given container.
  5918. </summary>
  5919. <remarks>
  5920. <see cref="T:LinFu.IoC.Interfaces.IFactory" /> developers can inherit from this class
  5921. instead of having to write their own custom factories
  5922. from scratch. This should cut down on some of the boilerplate
  5923. code necessary to get a factory class up and running.
  5924. </remarks>
  5925. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  5926. <returns>An object instance that represents the service to be created. This cannot be <c>null</c>.</returns>
  5927. </member>
  5928. <member name="T:LinFu.IoC.Factories.DelegateFactory">
  5929. <summary>
  5930. Represents a class that uses a <see cref="T:System.MulticastDelegate" />
  5931. to instantiate a service instance.
  5932. </summary>
  5933. </member>
  5934. <member name="M:LinFu.IoC.Factories.DelegateFactory.#ctor(System.MulticastDelegate)">
  5935. <summary>
  5936. Initializes the class with the given <paramref name="targetDelegate" /></summary>
  5937. <param name="targetDelegate">The delegate that will be used to instantiate the factory.</param>
  5938. </member>
  5939. <member name="M:LinFu.IoC.Factories.DelegateFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  5940. <summary>
  5941. Instantiates the service type using the given delegate.
  5942. </summary>
  5943. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> that describes the service that needs to be created.</param>
  5944. <returns>The service instance.</returns>
  5945. </member>
  5946. <member name="T:LinFu.IoC.FactoryAdapter`1">
  5947. <summary>
  5948. An adapter that converts strongly-typed IFactory&lt;T&gt;
  5949. instances into an equivalent IFactory instance.
  5950. </summary>
  5951. <typeparam name="T">The service type to create.</typeparam>
  5952. </member>
  5953. <member name="M:LinFu.IoC.FactoryAdapter`1.#ctor(System.Object)">
  5954. <summary>
  5955. Creates the factory adapter using the given
  5956. IFactory&lt;T&gt; instance.
  5957. </summary>
  5958. <param name="factory">The factory instance that
  5959. will be called every time the <see cref="M:LinFu.IoC.Interfaces.IFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)" /> method
  5960. is called. </param>
  5961. </member>
  5962. <member name="M:LinFu.IoC.FactoryAdapter`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  5963. <summary>
  5964. Overridden. Uses the strongly-typed factory
  5965. to create the service instance every time
  5966. the <see cref="M:LinFu.IoC.Interfaces.IFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)" /> method
  5967. is called.
  5968. </summary>
  5969. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  5970. <returns>An object instance that represents the service to be created. This cannot be <c>null</c>.</returns>
  5971. </member>
  5972. <member name="P:LinFu.IoC.FactoryAdapter`1.Factory">
  5973. <summary>
  5974. The factory that will create the service instance.
  5975. </summary>
  5976. </member>
  5977. <member name="T:LinFu.IoC.Factories.FunctorFactory">
  5978. <summary>
  5979. A class that converts a delegate into an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.
  5980. </summary>
  5981. </member>
  5982. <member name="M:LinFu.IoC.Factories.FunctorFactory.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,System.Object})">
  5983. <summary>
  5984. Initializes the class with the given <paramref name="factoryMethod" />.
  5985. </summary>
  5986. <param name="factoryMethod">The delegate that will be used to instantiate a type.</param>
  5987. </member>
  5988. <member name="M:LinFu.IoC.Factories.FunctorFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  5989. <summary>
  5990. Instantiates an object reference using the given factory method.
  5991. </summary>
  5992. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  5993. <returns>A non-null object reference that represents the service type.</returns>
  5994. </member>
  5995. <member name="T:LinFu.IoC.Factories.FunctorFactory`1">
  5996. <summary>
  5997. A class that converts a delegate into an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.
  5998. </summary>
  5999. </member>
  6000. <member name="M:LinFu.IoC.Factories.FunctorFactory`1.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,System.Object})">
  6001. <summary>
  6002. Initializes the class with the given <paramref name="factoryMethod" />.
  6003. </summary>
  6004. <param name="factoryMethod">The delegate that will be used to instantiate a type.</param>
  6005. </member>
  6006. <member name="M:LinFu.IoC.Factories.FunctorFactory`1.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,`0})">
  6007. <summary>
  6008. Initializes the class with the given <paramref name="factoryMethod" />.
  6009. </summary>
  6010. <param name="factoryMethod">The delegate that will be used to instantiate a type.</param>
  6011. </member>
  6012. <member name="M:LinFu.IoC.Factories.FunctorFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  6013. <summary>
  6014. Instantiates an object reference using the given factory method.
  6015. </summary>
  6016. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  6017. <returns>A non-null object reference that represents the service type.</returns>
  6018. </member>
  6019. <member name="T:LinFu.IoC.InstanceFactory">
  6020. <summary>
  6021. A factory that uses an existing object reference
  6022. instead of creating a new service.
  6023. </summary>
  6024. </member>
  6025. <member name="M:LinFu.IoC.InstanceFactory.#ctor(System.Object)">
  6026. <summary>
  6027. Creates a factory using the existing <paramref name="instance" />.
  6028. </summary>
  6029. <param name="instance">The existing object reference that the factory will return.</param>
  6030. </member>
  6031. <member name="M:LinFu.IoC.InstanceFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  6032. <summary>
  6033. A method that returns the existing object reference associated with
  6034. this factory.
  6035. </summary>
  6036. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  6037. <returns>A non-null object reference.</returns>
  6038. </member>
  6039. <member name="T:LinFu.IoC.Factories.LazyFactory">
  6040. <summary>
  6041. Represents an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> class that instantiates a factory only on request.
  6042. </summary>
  6043. </member>
  6044. <member name="M:LinFu.IoC.Factories.LazyFactory.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,LinFu.IoC.Interfaces.IFactory})">
  6045. <summary>
  6046. Instantiates the class with the factory functor method.
  6047. </summary>
  6048. <param name="getFactory">The functor that will be responsible for instantiating the actual factory.</param>
  6049. </member>
  6050. <member name="M:LinFu.IoC.Factories.LazyFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  6051. <summary>
  6052. Instantiates the actual factory instance and uses it to instantiate the target service type.
  6053. </summary>
  6054. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> that describes the service to be created.</param>
  6055. <returns>A valid service instance.</returns>
  6056. </member>
  6057. <member name="T:LinFu.IoC.Factories.LazyFactory`1">
  6058. <summary>
  6059. Represents a factory that returns strongly-typed IFactory instances.
  6060. </summary>
  6061. <typeparam name="T">The service type to be created.</typeparam>
  6062. </member>
  6063. <member name="M:LinFu.IoC.Factories.LazyFactory`1.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,LinFu.IoC.Interfaces.IFactory})">
  6064. <summary>
  6065. Initializes the factory with the given <paramref name="getFactory" /> functor.
  6066. </summary>
  6067. <param name="getFactory">The functor that will instantiate the actual factory instance.</param>
  6068. </member>
  6069. <member name="M:LinFu.IoC.Factories.LazyFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  6070. <summary>
  6071. Instantiates the service type using the actual factory.
  6072. </summary>
  6073. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the service to be created.</param>
  6074. <returns>
  6075. </returns>
  6076. </member>
  6077. <member name="T:LinFu.IoC.Factories.OncePerRequestFactory`1">
  6078. <summary>
  6079. A factory that creates a unique service instance every time
  6080. the <see cref="M:LinFu.IoC.Factories.OncePerRequestFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)" /> method is called.
  6081. </summary>
  6082. <typeparam name="T">The type of service to instantiate.</typeparam>
  6083. </member>
  6084. <member name="M:LinFu.IoC.Factories.OncePerRequestFactory`1.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,`0})">
  6085. <summary>
  6086. Initializes the factory class using the <paramref name="createInstance" />
  6087. parameter as a factory delegate.
  6088. </summary>
  6089. <example>
  6090. The following is an example of initializing a <c>OncePerRequestFactory&lt;T&gt;</c>
  6091. type:
  6092. <code>
  6093. // Define the factory delegate
  6094. Func&lt;IFactoryRequest, ISomeService&gt; createService = container=&gt;new SomeServiceImplementation();
  6095. // Create the factory
  6096. var factory = new OncePerRequestFactory&lt;ISomeService&gt;(createService);
  6097. // Use the service instance
  6098. var service = factory.CreateInstance(null);
  6099. // ...
  6100. </code></example>
  6101. <param name="createInstance">The delegate that will be used to create each new service instance.</param>
  6102. </member>
  6103. <member name="M:LinFu.IoC.Factories.OncePerRequestFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  6104. <summary>
  6105. This method creates a new service instance every time
  6106. it is invoked.
  6107. </summary>
  6108. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  6109. <returns>A non-null object reference.</returns>
  6110. </member>
  6111. <member name="T:LinFu.IoC.Factories.OncePerThreadFactory`1">
  6112. <summary>
  6113. A factory that creates service instances that are unique
  6114. from within the same thread as the factory itself.
  6115. </summary>
  6116. <typeparam name="T">The type of service to instantiate.</typeparam>
  6117. </member>
  6118. <member name="M:LinFu.IoC.Factories.OncePerThreadFactory`1.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,`0})">
  6119. <summary>
  6120. Initializes the factory class using the <paramref name="createInstance" />
  6121. parameter as a factory delegate.
  6122. </summary>
  6123. <example>
  6124. The following is an example of initializing a <c>OncePerThreadFactory&lt;T&gt;</c>
  6125. type:
  6126. <code>
  6127. // Define the factory delegate
  6128. Func&lt;IFactoryRequest, ISomeService&gt; createService = container=&gt;new SomeServiceImplementation();
  6129. // Create the factory
  6130. var factory = new OncePerThreadFactory&lt;ISomeService&gt;(createService);
  6131. // Use the service instance
  6132. var service = factory.CreateInstance(null);
  6133. // ...
  6134. </code></example>
  6135. <param name="createInstance">The delegate that will be used to create each new service instance.</param>
  6136. </member>
  6137. <member name="M:LinFu.IoC.Factories.OncePerThreadFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  6138. <summary>
  6139. Creates the service instance using the given <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" />
  6140. instance. Every service instance created from this factory will
  6141. only be created once per thread.
  6142. </summary>
  6143. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  6144. <returns>A a service instance as thread-wide singleton.</returns>
  6145. </member>
  6146. <member name="T:LinFu.IoC.Factories.SingletonFactory`1">
  6147. <summary>
  6148. A factory that creates Singletons. Each service that this factory creates will only be created once per concrete type.
  6149. </summary>
  6150. <typeparam name="T">The type of service to instantiate.</typeparam>
  6151. </member>
  6152. <member name="M:LinFu.IoC.Factories.SingletonFactory`1.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,`0})">
  6153. <summary>
  6154. Initializes the factory class using the <paramref name="createInstance" />
  6155. parameter as a factory delegate.
  6156. </summary>
  6157. <example>
  6158. The following is an example of initializing a <c>SingletonFactory&lt;T&gt;</c>
  6159. type:
  6160. <code>
  6161. // Define the factory delegate
  6162. Func&lt;IFactoryRequest, ISomeService&gt; createService = container=&gt;new SomeServiceImplementation();
  6163. // Create the factory
  6164. var factory = new SingletonFactory&lt;ISomeService&gt;(createService);
  6165. // Use the service instance
  6166. var service = factory.CreateInstance(null);
  6167. // ...
  6168. </code></example>
  6169. <param name="createInstance">The delegate that will be used to create each new service instance.</param>
  6170. </member>
  6171. <member name="M:LinFu.IoC.Factories.SingletonFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  6172. <summary>
  6173. A method that creates a service instance as a singleton.
  6174. </summary>
  6175. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  6176. <returns>A service instance as a singleton.</returns>
  6177. </member>
  6178. <member name="T:LinFu.IoC.FactoryExtensions">
  6179. <summary>
  6180. Extends the <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance with a few helper methods.
  6181. </summary>
  6182. </member>
  6183. <member name="M:LinFu.IoC.FactoryExtensions.CreateInstance(LinFu.IoC.Interfaces.IFactory,System.Type,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  6184. <summary>
  6185. Creates an object instance.
  6186. </summary>
  6187. <param name="factory">The target factory.</param>
  6188. <param name="serviceType">The requested service type.</param>
  6189. <param name="container">The target service contaienr.</param>
  6190. <param name="additionalArguments">The additional arguments that will be used to create the service instance.</param>
  6191. <returns>A service instance.</returns>
  6192. </member>
  6193. <member name="T:LinFu.IoC.FactoryRequest">
  6194. <summary>
  6195. Represents the default implementation of the <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> interface.
  6196. </summary>
  6197. </member>
  6198. <member name="P:LinFu.IoC.FactoryRequest.Container">
  6199. <summary>
  6200. Gets the value indicating the service container that made the service request.
  6201. </summary>
  6202. </member>
  6203. <member name="P:LinFu.IoC.FactoryRequest.ServiceName">
  6204. <summary>
  6205. Gets the value indicating the service name.
  6206. </summary>
  6207. <remarks>A null service name indicates that no service name was given during the request.</remarks>
  6208. </member>
  6209. <member name="P:LinFu.IoC.FactoryRequest.ServiceType">
  6210. <summary>
  6211. Gets the value indicating the requested service type.
  6212. </summary>
  6213. </member>
  6214. <member name="P:LinFu.IoC.FactoryRequest.Arguments">
  6215. <summary>
  6216. Gets the value indicating the additional arguments given in the factory request.
  6217. </summary>
  6218. </member>
  6219. <member name="T:LinFu.IoC.Interfaces.IFactoryStorage">
  6220. <summary>
  6221. Represents a class that stores factory instances.
  6222. </summary>
  6223. </member>
  6224. <member name="M:LinFu.IoC.Interfaces.IFactoryStorage.GetFactory(LinFu.IoC.Interfaces.IServiceInfo)">
  6225. <summary>
  6226. Determines which factories should be used
  6227. for a particular service request.
  6228. </summary>
  6229. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
  6230. <returns>A factory instance.</returns>
  6231. </member>
  6232. <member name="M:LinFu.IoC.Interfaces.IFactoryStorage.AddFactory(LinFu.IoC.Interfaces.IServiceInfo,LinFu.IoC.Interfaces.IFactory)">
  6233. <summary>
  6234. Adds a <see cref="T:LinFu.IoC.Interfaces.IFactory" /> to the current <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object.
  6235. </summary>
  6236. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
  6237. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will create the object instance.</param>
  6238. </member>
  6239. <member name="M:LinFu.IoC.Interfaces.IFactoryStorage.ContainsFactory(LinFu.IoC.Interfaces.IServiceInfo)">
  6240. <summary>
  6241. Determines whether or not a factory exists in storage.
  6242. </summary>
  6243. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
  6244. <returns>Returns <c>true</c> if the factory exists; otherwise, it will return <c>false</c>.</returns>
  6245. </member>
  6246. <member name="P:LinFu.IoC.Interfaces.IFactoryStorage.AvailableFactories">
  6247. <summary>
  6248. Gets a value indicating the list of <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> objects
  6249. that describe each available factory in the current <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" />
  6250. instance.
  6251. </summary>
  6252. </member>
  6253. <member name="T:LinFu.IoC.BaseFactoryStorage">
  6254. <summary>
  6255. Represents the default base implementation of the <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> class.
  6256. </summary>
  6257. </member>
  6258. <member name="M:LinFu.IoC.BaseFactoryStorage.GetFactory(LinFu.IoC.Interfaces.IServiceInfo)">
  6259. <summary>
  6260. Determines which factories should be used
  6261. for a particular service request.
  6262. </summary>
  6263. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
  6264. <returns>A factory instance.</returns>
  6265. </member>
  6266. <member name="M:LinFu.IoC.BaseFactoryStorage.AddFactory(LinFu.IoC.Interfaces.IServiceInfo,LinFu.IoC.Interfaces.IFactory)">
  6267. <summary>
  6268. Adds a <see cref="T:LinFu.IoC.Interfaces.IFactory" /> to the current <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object.
  6269. </summary>
  6270. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
  6271. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will create the object instance.</param>
  6272. </member>
  6273. <member name="M:LinFu.IoC.BaseFactoryStorage.ContainsFactory(LinFu.IoC.Interfaces.IServiceInfo)">
  6274. <summary>
  6275. Determines whether or not a factory exists in storage.
  6276. </summary>
  6277. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
  6278. <returns>Returns <c>true</c> if the factory exists; otherwise, it will return <c>false</c>.</returns>
  6279. </member>
  6280. <member name="P:LinFu.IoC.BaseFactoryStorage.AvailableFactories">
  6281. <summary>
  6282. Gets a value indicating the list of <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> objects
  6283. that describe each available factory in the current <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" />
  6284. instance.
  6285. </summary>
  6286. </member>
  6287. <member name="T:LinFu.IoC.FactoryStorage">
  6288. <summary>
  6289. Represents an <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> instance that adds generics support to the <see cref="T:LinFu.IoC.BaseFactoryStorage" /> implementation.
  6290. </summary>
  6291. </member>
  6292. <member name="M:LinFu.IoC.FactoryStorage.ContainsFactory(LinFu.IoC.Interfaces.IServiceInfo)">
  6293. <summary>
  6294. Determines whether or not an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance
  6295. can be used to create the given service described by the <paramref name="serviceInfo" /> object.
  6296. </summary>
  6297. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the service to be created.</param>
  6298. <returns>
  6299. <c>True</c> if the service can be created; otherwise, it will return <c>false</c>.</returns>
  6300. </member>
  6301. <member name="M:LinFu.IoC.FactoryStorage.GetFactory(LinFu.IoC.Interfaces.IServiceInfo)">
  6302. <summary>
  6303. Obtains the <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that can instantiate the
  6304. service described by the <paramref name="serviceInfo" /> object instance.
  6305. </summary>
  6306. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the service to be created.</param>
  6307. <returns>A <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance if the service can be instantiated; otherwise, it will return <c>false</c>.</returns>
  6308. </member>
  6309. <member name="M:LinFu.IoC.FactoryStorage.GetDefaultFactory(System.String,System.Type,LinFu.IoC.Interfaces.IFactory)">
  6310. <summary>
  6311. Gets the default factory for a particular service type if no other factory instance can be found.
  6312. </summary>
  6313. <param name="serviceName">The name of the service.</param>
  6314. <param name="serviceType">The service type.</param>
  6315. <param name="factory">The original factory instance that was supposed to be created in order to instantiate the service instance.</param>
  6316. <returns>The actual factory instance that will be used to create the service instance.</returns>
  6317. </member>
  6318. <member name="M:LinFu.IoC.FactoryStorage.GetGenericFactory(LinFu.IoC.Interfaces.IServiceInfo,LinFu.IoC.Interfaces.IFactory,System.String,System.Type)">
  6319. <summary>
  6320. Gets the generic factory for a concrete service type.
  6321. </summary>
  6322. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the service to be created.</param>
  6323. <param name="factory">The factory instance that will be used to create the service.</param>
  6324. <param name="serviceName">The name of the service.</param>
  6325. <param name="actualServiceType">The service type.</param>
  6326. <returns>A factory instance that can create the generic type.</returns>
  6327. </member>
  6328. <member name="T:LinFu.IoC.FactoryStorageExtensions">
  6329. <summary>
  6330. An extension class that adds a few helper methods to the
  6331. <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> interface.
  6332. </summary>
  6333. </member>
  6334. <member name="M:LinFu.IoC.FactoryStorageExtensions.AddFactory(LinFu.IoC.Interfaces.IFactoryStorage,System.String,System.Type,System.Collections.Generic.IEnumerable{System.Type},LinFu.IoC.Interfaces.IFactory)">
  6335. <summary>
  6336. Adds a factory to the current <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> instance.
  6337. </summary>
  6338. <param name="storage">The <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object that will store the target factory.</param>
  6339. <param name="serviceName">The name that will be associated with the target factory.</param>
  6340. <param name="serviceType">The service type that the factory will be able to create.</param>
  6341. <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
  6342. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will create the object instance.</param>
  6343. </member>
  6344. <member name="M:LinFu.IoC.FactoryStorageExtensions.GetFactory(LinFu.IoC.Interfaces.IFactoryStorage,System.String,System.Type,System.Collections.Generic.IEnumerable{System.Object})">
  6345. <summary>
  6346. Determines which factories should be used
  6347. for a particular service request.
  6348. </summary>
  6349. <param name="storage">The <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object that holds the target factory.</param>
  6350. <param name="serviceName">The name that will be associated with the target factory.</param>
  6351. <param name="serviceType">The service type that the factory will be able to create.</param>
  6352. <param name="additionalParameters">The list of additional parameter values that this factory type will use to instantiate the service.</param>
  6353. <returns>A factory instance.</returns>
  6354. </member>
  6355. <member name="M:LinFu.IoC.FactoryStorageExtensions.GetFactory(LinFu.IoC.Interfaces.IFactoryStorage,System.String,System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  6356. <summary>
  6357. Determines which factories should be used
  6358. for a particular service request.
  6359. </summary>
  6360. <param name="storage">The <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object that holds the target factory.</param>
  6361. <param name="serviceName">The name that will be associated with the target factory.</param>
  6362. <param name="serviceType">The service type that the factory will be able to create.</param>
  6363. <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
  6364. <returns>A factory instance.</returns>
  6365. </member>
  6366. <member name="M:LinFu.IoC.FactoryStorageExtensions.ContainsFactory(LinFu.IoC.Interfaces.IFactoryStorage,System.String,System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  6367. <summary>
  6368. Determines whether or not a factory exists in storage.
  6369. </summary>
  6370. <param name="storage">The <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object that holds the target factory.</param>
  6371. <param name="serviceName">The name that will be associated with the target factory.</param>
  6372. <param name="serviceType">The service type that the factory will be able to create.</param>
  6373. <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
  6374. <returns>Returns <c>true</c> if the factory exists; otherwise, it will return <c>false</c>.</returns>
  6375. </member>
  6376. <member name="T:LinFu.IoC.Interceptors.BaseInterceptor">
  6377. <summary>
  6378. A class that provides the most basic functionality for an interceptor.
  6379. </summary>
  6380. </member>
  6381. <member name="M:LinFu.IoC.Interceptors.BaseInterceptor.#ctor">
  6382. <summary>
  6383. The default constructor.
  6384. </summary>
  6385. </member>
  6386. <member name="M:LinFu.IoC.Interceptors.BaseInterceptor.#ctor(LinFu.IoC.Configuration.Interfaces.IMethodInvoke{System.Reflection.MethodInfo})">
  6387. <summary>
  6388. Initializes the class with the <paramref name="methodInvoke" /> instance.
  6389. </summary>
  6390. <param name="methodInvoke">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodInvoke`1" /> instance that will invoke the target method.</param>
  6391. </member>
  6392. <member name="M:LinFu.IoC.Interceptors.BaseInterceptor.Intercept(LinFu.AOP.Interfaces.IInvocationInfo)">
  6393. <summary>
  6394. Intercepts a method call using the given
  6395. <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.
  6396. </summary>
  6397. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that will
  6398. contain all the necessary information associated with a
  6399. particular method call.</param>
  6400. <returns>The return value of the target method. If the return type of the target
  6401. method is <see cref="!:void" />, then the return value will be ignored.</returns>
  6402. </member>
  6403. <member name="M:LinFu.IoC.Interceptors.BaseInterceptor.GetTarget(LinFu.AOP.Interfaces.IInvocationInfo)">
  6404. <summary>
  6405. Gets the target object instance.
  6406. </summary>
  6407. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the current execution context.</param>
  6408. </member>
  6409. <member name="P:LinFu.IoC.Interceptors.BaseInterceptor.MethodInvoker">
  6410. <summary>
  6411. Gets the value indicating the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodInvoke`1" /> instance
  6412. that will be used to invoke the target method.
  6413. </summary>
  6414. </member>
  6415. <member name="T:LinFu.IoC.Interceptors.LazyInterceptor`1">
  6416. <summary>
  6417. An interceptor class that instantiates a target type only when
  6418. the methods for that target are invoked.
  6419. </summary>
  6420. <typeparam name="T">The type of object to intercept.</typeparam>
  6421. </member>
  6422. <member name="M:LinFu.IoC.Interceptors.LazyInterceptor`1.#ctor(System.Func{`0})">
  6423. <summary>
  6424. Initializes the class with the <paramref name="getInstance" />
  6425. factory method.
  6426. </summary>
  6427. <param name="getInstance">The functor that will be used to create the actual object instance.</param>
  6428. </member>
  6429. <member name="M:LinFu.IoC.Interceptors.LazyInterceptor`1.GetTarget(LinFu.AOP.Interfaces.IInvocationInfo)">
  6430. <summary>
  6431. A method that uses the given factory method to provide a target
  6432. for the method currently being invoked.
  6433. </summary>
  6434. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> object that describes the current invocation context.</param>
  6435. <returns>The target itself.</returns>
  6436. </member>
  6437. <member name="M:LinFu.IoC.Interceptors.LazyInterceptor`1.Intercept(LinFu.AOP.Interfaces.IInvocationInfo)">
  6438. <summary>
  6439. Intercepts the method and initializes the target instance before the
  6440. actual object is invoked.
  6441. </summary>
  6442. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> that describes the execution context.</param>
  6443. <returns>The return value of the target method.</returns>
  6444. </member>
  6445. <member name="T:LinFu.IoC.Interceptors.AroundInvokeAdapter">
  6446. <summary>
  6447. Adapts a <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance into an <see cref="T:LinFu.AOP.Interfaces.IInterceptor" />.
  6448. </summary>
  6449. </member>
  6450. <member name="M:LinFu.IoC.Interceptors.AroundInvokeAdapter.#ctor(System.Func{System.Object},LinFu.IoC.Configuration.Interfaces.IMethodInvoke{System.Reflection.MethodInfo},LinFu.AOP.Interfaces.IAroundInvoke)">
  6451. <summary>
  6452. Initializes the <see cref="T:LinFu.IoC.Interceptors.AroundInvokeAdapter" /> class.
  6453. </summary>
  6454. <param name="getTarget">The functor responsible for obtaining the target instance.</param>
  6455. <param name="methodInvoke">The method invoker.</param>
  6456. <param name="aroundInvoke">The target <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.</param>
  6457. </member>
  6458. <member name="M:LinFu.IoC.Interceptors.AroundInvokeAdapter.Intercept(LinFu.AOP.Interfaces.IInvocationInfo)">
  6459. <summary>
  6460. Converts the call to <see cref="M:LinFu.AOP.Interfaces.IInterceptor.Intercept(LinFu.AOP.Interfaces.IInvocationInfo)" /> to an
  6461. <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> method call.
  6462. </summary>
  6463. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> that describes the context of the method call.</param>
  6464. <returns>The return value from the target method.</returns>
  6465. </member>
  6466. <member name="M:LinFu.IoC.Interceptors.AroundInvokeAdapter.GetTarget(LinFu.AOP.Interfaces.IInvocationInfo)">
  6467. <summary>
  6468. Gets the target object instance.
  6469. </summary>
  6470. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the current execution context.</param>
  6471. </member>
  6472. <member name="T:LinFu.IoC.Interceptors.InterceptorAttributeLoader">
  6473. <summary>
  6474. The class responsible for loading interceptors marked with the
  6475. <see cref="T:LinFu.IoC.Interceptors.InterceptsAttribute" /> class.
  6476. </summary>
  6477. </member>
  6478. <member name="M:LinFu.IoC.Interceptors.InterceptorAttributeLoader.#ctor(LinFu.Reflection.ILoader{LinFu.IoC.Interfaces.IServiceContainer})">
  6479. <summary>
  6480. Initializes the class with the given <paramref name="loaderHost" />.
  6481. </summary>
  6482. <param name="loaderHost">The <see cref="T:LinFu.Reflection.ILoader`1" /> instance that will be responsible for loading the <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance itself.</param>
  6483. </member>
  6484. <member name="M:LinFu.IoC.Interceptors.InterceptorAttributeLoader.Load(System.Type)">
  6485. <summary>
  6486. Loads an <see cref="T:LinFu.AOP.Interfaces.IInterceptor" /> derived class into a particular <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance
  6487. so that the current interceptor type can intercept calls made to services created from the given
  6488. target container.
  6489. </summary>
  6490. <param name="input">The interceptor type.</param>
  6491. <returns>By default, this will always return an empty set of container actions. The actual interceptor itself will be injected at the end of the postprocessor chain.</returns>
  6492. </member>
  6493. <member name="M:LinFu.IoC.Interceptors.InterceptorAttributeLoader.CanLoad(System.Type)">
  6494. <summary>
  6495. Determines whether or not a target type is an interceptor.
  6496. </summary>
  6497. <param name="inputType">The target type currently being tested.</param>
  6498. <returns>Returns <c>true</c> if the <paramref name="inputType" /> is an interceptor; otherwise, it will return <c>false</c>.</returns>
  6499. </member>
  6500. <member name="M:LinFu.IoC.Interceptors.InterceptorAttributeLoader.CreateProxyFrom(LinFu.IoC.Interfaces.IServiceRequestResult,System.Func{LinFu.IoC.Interfaces.IServiceRequestResult,LinFu.AOP.Interfaces.IInterceptor})">
  6501. <summary>
  6502. Generates a proxy instance from an existing <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> instance.
  6503. </summary>
  6504. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> instance that describes the proxy type that must be generated.</param>
  6505. <param name="getInterceptor">The <see cref="T:LinFu.AOP.Interfaces.IInterceptor" /> functor that will create the interceptor which will handle all calls made to the proxy instance.</param>
  6506. <returns>A service proxy.</returns>
  6507. </member>
  6508. <member name="T:LinFu.IoC.Interceptors.InterceptsAttribute">
  6509. <summary>
  6510. The attribute class used to indentify interceptor classes.
  6511. </summary>
  6512. </member>
  6513. <member name="M:LinFu.IoC.Interceptors.InterceptsAttribute.#ctor(System.Type)">
  6514. <summary>
  6515. Initializes the class with the given <paramref name="targetType" />.
  6516. </summary>
  6517. <param name="targetType">The target type that will be intercepted.</param>
  6518. </member>
  6519. <member name="M:LinFu.IoC.Interceptors.InterceptsAttribute.#ctor(System.String,System.Type)">
  6520. <summary>
  6521. Initializes the class with the given <paramref name="targetType" /> and <paramref name="serviceName" />.
  6522. </summary>
  6523. <param name="serviceName">The name of service that will be intercepted.</param>
  6524. <param name="targetType">The target type that will be intercepted.</param>
  6525. </member>
  6526. <member name="P:LinFu.IoC.Interceptors.InterceptsAttribute.ServiceName">
  6527. <summary>
  6528. Gets the value indicating the name of the service to intercept.
  6529. </summary>
  6530. </member>
  6531. <member name="P:LinFu.IoC.Interceptors.InterceptsAttribute.TargetType">
  6532. <summary>
  6533. Gets the value indicating the target type that will be intercepted.
  6534. </summary>
  6535. </member>
  6536. <member name="T:LinFu.IoC.Interceptors.InvocationInfoInterceptor">
  6537. <summary>
  6538. An interceptor that intercepts <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instances
  6539. and replaces the original target instance with a surrogate instance.
  6540. </summary>
  6541. </member>
  6542. <member name="M:LinFu.IoC.Interceptors.InvocationInfoInterceptor.#ctor(LinFu.AOP.Interfaces.IInvocationInfo,System.Func{System.Object},LinFu.IoC.Configuration.Interfaces.IMethodInvoke{System.Reflection.MethodInfo})">
  6543. <summary>
  6544. Initializes the class with a functor that can provide the actual target instance.
  6545. </summary>
  6546. <param name="getActualTarget">The <see cref="T:System.Func`1" /> that will provide the target instance that will be used for the method invocation.</param>
  6547. <param name="methodInvoke">The method invoker.</param>
  6548. <param name="realInfo">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the current execution context.</param>
  6549. </member>
  6550. <member name="M:LinFu.IoC.Interceptors.InvocationInfoInterceptor.GetTarget(LinFu.AOP.Interfaces.IInvocationInfo)">
  6551. <summary>
  6552. Gets the target object instance.
  6553. </summary>
  6554. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the current execution context.</param>
  6555. </member>
  6556. <member name="T:LinFu.IoC.Interceptors.ProxyContainerPlugin">
  6557. <summary>
  6558. A <see cref="T:LinFu.IoC.Configuration.Interfaces.IContainerPlugin" /> implementation that inserts
  6559. <see cref="T:LinFu.IoC.Interceptors.ProxyInjector" /> instances at the beginning of a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  6560. loading sequence.
  6561. </summary>
  6562. </member>
  6563. <member name="M:LinFu.IoC.Interceptors.ProxyContainerPlugin.#ctor(LinFu.IoC.Interceptors.ProxyInjector)">
  6564. <summary>
  6565. Initializes the class with the given <see cref="T:LinFu.IoC.Interceptors.ProxyInjector" /> instance.
  6566. </summary>
  6567. <param name="injector">The postprocessor that will inject proxies in place of actual service requests.</param>
  6568. </member>
  6569. <member name="M:LinFu.IoC.Interceptors.ProxyContainerPlugin.BeginLoad(LinFu.IoC.Interfaces.IServiceContainer)">
  6570. <summary>
  6571. Injects a <see cref="T:LinFu.IoC.Interceptors.ProxyInjector" /> into the <paramref name="target">target container</paramref>.
  6572. </summary>
  6573. <param name="target">The service container that will hold the <see cref="T:LinFu.IoC.Interceptors.ProxyInjector" />.</param>
  6574. </member>
  6575. <member name="M:LinFu.IoC.Interceptors.ProxyContainerPlugin.EndLoad(LinFu.IoC.Interfaces.IServiceContainer)">
  6576. <summary>
  6577. Does absolutely nothing.
  6578. </summary>
  6579. <param name="target">The target container.</param>
  6580. </member>
  6581. <member name="T:LinFu.IoC.Interceptors.ProxyInjector">
  6582. <summary>
  6583. Represents a class that automatically injects a proxy instance
  6584. instead of an actual service instance.
  6585. </summary>
  6586. </member>
  6587. <member name="M:LinFu.IoC.Interceptors.ProxyInjector.#ctor(System.Func{LinFu.IoC.Interfaces.IServiceRequestResult,System.Boolean},System.Func{LinFu.IoC.Interfaces.IServiceRequestResult,System.Object})">
  6588. <summary>
  6589. Initializes the class with the <paramref name="filterPredicate" />
  6590. and the <paramref name="createProxy" /> factory method.
  6591. </summary>
  6592. <param name="filterPredicate">The predicate that will determine which service requests will be proxied.</param>
  6593. <param name="createProxy">The factory method that will generate the proxy instance itself.</param>
  6594. </member>
  6595. <member name="M:LinFu.IoC.Interceptors.ProxyInjector.PostProcess(LinFu.IoC.Interfaces.IServiceRequestResult)">
  6596. <summary>
  6597. A method that injects service proxies in place of the actual <see cref="P:LinFu.IoC.Interfaces.IServiceRequestResult.ActualResult" />.
  6598. </summary>
  6599. <param name="result">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> instance that describes the service request.</param>
  6600. </member>
  6601. <member name="T:LinFu.IoC.Configuration.IContainerLoader">
  6602. <summary>
  6603. Represents a loader that reads a file and converts it
  6604. into an equivalent set of a set of <see cref="T:System.Action`1" />
  6605. instances that can be applied to a particular
  6606. instance of an <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> class.
  6607. </summary>
  6608. </member>
  6609. <member name="T:LinFu.IoC.Interceptors.Redirector">
  6610. <summary>
  6611. An interceptor class that redirects calls to another interceptor.
  6612. </summary>
  6613. </member>
  6614. <member name="M:LinFu.IoC.Interceptors.Redirector.GetTarget(LinFu.AOP.Interfaces.IInvocationInfo)">
  6615. <summary>
  6616. Gets the target object instance.
  6617. </summary>
  6618. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the current execution context.</param>
  6619. </member>
  6620. <member name="T:LinFu.IoC.Interfaces.IScope">
  6621. <summary>
  6622. Represents a class that keeps track of all the disposable objects
  6623. created within a service container and disposes them when
  6624. the scope itself has been disposed.
  6625. </summary>
  6626. </member>
  6627. <member name="T:LinFu.IoC.Reflection.LateBoundExtensions">
  6628. <summary>
  6629. A class that adds late binding support to any CLR object.
  6630. </summary>
  6631. </member>
  6632. <member name="M:LinFu.IoC.Reflection.LateBoundExtensions.Invoke(System.Object,System.String,System.Object[])">
  6633. <summary>
  6634. Invokes a method on the target <paramref name="instance" />.
  6635. </summary>
  6636. <param name="instance">The target instance that will be used to invoke the method.</param>
  6637. <param name="methodName">The name of the target method.</param>
  6638. <param name="arguments">The arguments that will be passed to the target method.</param>
  6639. <returns>The method return value.</returns>
  6640. </member>
  6641. <member name="M:LinFu.IoC.Reflection.LateBoundExtensions.Invoke(System.Object,System.String,LinFu.IoC.Configuration.MethodFinderContext)">
  6642. <summary>
  6643. Invokes a method on the target <paramref name="instance" /> using the given <paramref name="methodName" /> and <paramref name="context" />.
  6644. </summary>
  6645. <param name="instance">The target instance.</param>
  6646. <param name="methodName">The name of the target method.</param>
  6647. <param name="context">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext" /> that describes the target method.</param>
  6648. <returns>The method return value.</returns>
  6649. </member>
  6650. <member name="M:LinFu.IoC.Reflection.LateBoundExtensions.Invoke``1(System.Object,System.String,System.Object[])">
  6651. <summary>
  6652. Invokes a method on the target <paramref name="instance" /> using the given <paramref name="methodName" />.
  6653. </summary>
  6654. <param name="instance">The target instance.</param>
  6655. <param name="methodName">The name of the target method.</param>
  6656. <typeparam name="T1">The type argument that will be passed to the target method</typeparam>.
  6657. <param name="arguments">The arguments that will be passed to the target method.</param><returns>The method return value.</returns></member>
  6658. <member name="M:LinFu.IoC.Reflection.LateBoundExtensions.Invoke``2(System.Object,System.String,System.Object[])">
  6659. <summary>
  6660. Invokes a method on the target <paramref name="instance" /> using the given <paramref name="methodName" />.
  6661. </summary>
  6662. <param name="instance">The target instance.</param>
  6663. <param name="methodName">The name of the target method.</param>
  6664. <typeparam name="T1">The first type argument that will be passed to the target method</typeparam>.
  6665. <typeparam name="T2">The second type argument that will be passed to the target method</typeparam>.
  6666. <param name="arguments">The arguments that will be passed to the target method.</param><returns>The method return value.</returns></member>
  6667. <member name="M:LinFu.IoC.Reflection.LateBoundExtensions.Invoke``3(System.Object,System.String,System.Object[])">
  6668. <summary>
  6669. Invokes a method on the target <paramref name="instance" /> using the given <paramref name="methodName" />.
  6670. </summary>
  6671. <param name="instance">The target instance.</param>
  6672. <param name="methodName">The name of the target method.</param>
  6673. <typeparam name="T1">The first type argument that will be passed to the target method</typeparam>.
  6674. <typeparam name="T2">The second type argument that will be passed to the target method</typeparam>.
  6675. <typeparam name="T3">The third type argument that will be passed to the target method.</typeparam><param name="arguments">The arguments that will be passed to the target method.</param><returns>The method return value.</returns></member>
  6676. <member name="M:LinFu.IoC.Reflection.LateBoundExtensions.Invoke``4(System.Object,System.String,System.Object[])">
  6677. <summary>
  6678. Invokes a method on the target <paramref name="instance" /> using the given <paramref name="methodName" />.
  6679. </summary>
  6680. <param name="instance">The target instance.</param>
  6681. <param name="methodName">The name of the target method.</param>
  6682. <typeparam name="T1">The first type argument that will be passed to the target method</typeparam>.
  6683. <typeparam name="T2">The second type argument that will be passed to the target method</typeparam>.
  6684. <typeparam name="T3">The third type argument that will be passed to the target method.</typeparam><typeparam name="T4">The fourth type argument that will be passed to the target method.</typeparam><param name="arguments">The arguments that will be passed to the target method.</param><returns>The method return value.</returns></member>
  6685. <member name="M:LinFu.IoC.Reflection.LateBoundExtensions.Invoke(System.Object,System.String,System.Type[],System.Object[])">
  6686. <summary>
  6687. Invokes a method on the target <paramref name="instance" /> using the given <paramref name="methodName" />.
  6688. </summary>
  6689. <param name="instance">The target instance.</param>
  6690. <param name="methodName">The name of the target method.</param>
  6691. <param name="typeArguments">The type arguments that will be passed to the target method.</param>
  6692. <param name="arguments">The arguments that will be passed to the target method.</param>
  6693. <returns>The method return value.</returns>
  6694. </member>
  6695. <member name="T:LinFu.IoC.Scope">
  6696. <summary>
  6697. Represents a class that keeps track of all the disposable objects
  6698. created within a service container and disposes them when
  6699. the scope itself has been disposed.
  6700. </summary>
  6701. </member>
  6702. <member name="M:LinFu.IoC.Scope.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  6703. <summary>
  6704. Inserts the scope into the target <paramref name="source">container</paramref>.
  6705. </summary>
  6706. <param name="source">The container that will hold the scope instance.</param>
  6707. </member>
  6708. <member name="M:LinFu.IoC.Scope.PostProcess(LinFu.IoC.Interfaces.IServiceRequestResult)">
  6709. <summary>
  6710. Monitors the <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> for any services that are created and automatically disposes them
  6711. once the <see cref="T:LinFu.IoC.Interfaces.IScope" /> is disposed.
  6712. </summary>
  6713. <param name="result">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> that describes the service being instantiated.</param>
  6714. </member>
  6715. <member name="M:LinFu.IoC.Scope.Dispose">
  6716. <summary>
  6717. Disposes the services that have been created while the scope has been active.
  6718. </summary>
  6719. </member>
  6720. <member name="T:LinFu.IoC.ServiceContainer">
  6721. <summary>
  6722. Represents a service container with additional
  6723. extension points for customizing service instances
  6724. </summary>
  6725. </member>
  6726. <member name="M:LinFu.IoC.ServiceContainer.#ctor">
  6727. <summary>
  6728. Initializes the container with the default services.
  6729. </summary>
  6730. </member>
  6731. <member name="M:LinFu.IoC.ServiceContainer.#ctor(LinFu.IoC.Interfaces.IGetService,LinFu.IoC.Interfaces.IFactoryStorage)">
  6732. <summary>
  6733. Initializes the container with a custom <see cref="T:LinFu.IoC.Interfaces.ICreateInstance" /> type.
  6734. </summary>
  6735. <param name="getServiceBehavior">The instance that will be responsible for generating service instances.</param>
  6736. <param name="factoryStorage">The <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> instance responsible for determining which factory instance will instantiate a given service request.</param>
  6737. </member>
  6738. <member name="M:LinFu.IoC.ServiceContainer.AddFactory(System.String,System.Type,System.Collections.Generic.IEnumerable{System.Type},LinFu.IoC.Interfaces.IFactory)">
  6739. <summary>
  6740. Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it
  6741. with the given <paramref name="serviceType">service type</paramref> and
  6742. <paramref name="serviceName">service name</paramref>.
  6743. </summary>
  6744. <param name="serviceName">The name of the service to associate with the given <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</param>
  6745. <param name="serviceType">The type of service that the factory will be able to create.</param>
  6746. <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
  6747. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will create the object instance.</param>
  6748. </member>
  6749. <member name="M:LinFu.IoC.ServiceContainer.AddFactory(System.Type,System.Collections.Generic.IEnumerable{System.Type},LinFu.IoC.Interfaces.IFactory)">
  6750. <summary>
  6751. Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it
  6752. with the given <paramref name="serviceType">service type</paramref>.
  6753. </summary>
  6754. <param name="serviceType">The service type to associate with the factory</param>
  6755. <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
  6756. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be responsible for creating the service instance</param>
  6757. </member>
  6758. <member name="M:LinFu.IoC.ServiceContainer.Contains(System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  6759. <summary>
  6760. Determines whether or not the given <paramref name="serviceType" />
  6761. can be instantiated by the container.
  6762. </summary>
  6763. <param name="serviceType">The type of service to instantiate.</param>
  6764. <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
  6765. <returns>Returns <c>true</c> if the service exists; otherwise, it will return <c>false</c>.</returns>
  6766. </member>
  6767. <member name="M:LinFu.IoC.ServiceContainer.GetService(System.Type,System.Object[])">
  6768. <summary>
  6769. Overridden. Causes the container to instantiate the service with the given
  6770. <paramref name="serviceType">service type</paramref>. If the service type cannot be created, then an
  6771. exception will be thrown if the <see cref="P:LinFu.IoC.Interfaces.IContainer.SuppressErrors" /> property
  6772. is set to false. Otherwise, it will simply return null.
  6773. </summary>
  6774. <remarks>
  6775. This overload of the <c>GetService</c> method has been overridden
  6776. so that its results can be handled by the postprocessors.
  6777. </remarks>
  6778. <seealso cref="T:LinFu.IoC.Interfaces.IPostProcessor" />
  6779. <param name="serviceType">The service type to instantiate.</param>
  6780. <param name="additionalArguments">The additional arguments that will be used to instantiate the service type.</param>
  6781. <returns>If successful, it will return a service instance that is compatible with the given type;
  6782. otherwise, it will just return a null value.</returns>
  6783. </member>
  6784. <member name="M:LinFu.IoC.ServiceContainer.GetService(System.String,System.Type,System.Object[])">
  6785. <summary>
  6786. Causes the container to instantiate the service with the given
  6787. <paramref name="serviceType">service type</paramref>. If the service type cannot be created, then an
  6788. exception will be thrown if the <see cref="P:LinFu.IoC.Interfaces.IContainer.SuppressErrors" /> property
  6789. is set to false. Otherwise, it will simply return null.
  6790. </summary>
  6791. <param name="serviceName">The name of the service to instantiate.</param>
  6792. <param name="serviceType">The service type to instantiate.</param>
  6793. <param name="additionalArguments">The additional arguments that will be used to instantiate the service type.</param>
  6794. <returns>If successful, it will return a service instance that is compatible with the given type;
  6795. otherwise, it will just return a <c>null</c> value.</returns>
  6796. </member>
  6797. <member name="M:LinFu.IoC.ServiceContainer.Contains(System.String,System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  6798. <summary>
  6799. Determines whether or not a service can be created using
  6800. the given <paramref name="serviceName">service name</paramref>
  6801. and <paramref name="serviceType">service type</paramref>.
  6802. </summary>
  6803. <param name="serviceName">The name of the service to associate with the given <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</param>
  6804. <param name="serviceType">The type of service that the factory will be able to create.</param>
  6805. <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
  6806. <returns>Returns <c>true</c> if the service exists; otherwise, it will return <c>false</c>.</returns>
  6807. </member>
  6808. <member name="P:LinFu.IoC.ServiceContainer.FactoryStorage">
  6809. <summary>
  6810. Gets the value indicating the <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> instance
  6811. that will be used to store each <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.
  6812. </summary>
  6813. </member>
  6814. <member name="P:LinFu.IoC.ServiceContainer.SuppressErrors">
  6815. <summary>
  6816. Gets or sets a <see cref="T:System.Boolean">System.Boolean</see> value
  6817. that determines whether or not the container should throw
  6818. a <see cref="T:LinFu.IoC.ServiceNotFoundException" /> if a requested service
  6819. cannot be found or created.
  6820. </summary>
  6821. </member>
  6822. <member name="P:LinFu.IoC.ServiceContainer.PostProcessors">
  6823. <summary>
  6824. The list of postprocessors that will handle every
  6825. service request result.
  6826. </summary>
  6827. </member>
  6828. <member name="P:LinFu.IoC.ServiceContainer.PreProcessors">
  6829. <summary>
  6830. The list of preprocessors that will handle
  6831. every service request before each actual service is created.
  6832. </summary>
  6833. </member>
  6834. <member name="P:LinFu.IoC.ServiceContainer.AvailableServices">
  6835. <summary>
  6836. The list of services currently available inside the container.
  6837. </summary>
  6838. </member>
  6839. <member name="T:LinFu.IoC.ServiceNotFoundException">
  6840. <summary>
  6841. The exception thrown when a service type is
  6842. requested from a container and that named container
  6843. is unable to find or create that particular service instance.
  6844. </summary>
  6845. </member>
  6846. <member name="M:LinFu.IoC.ServiceNotFoundException.#ctor(System.Type)">
  6847. <summary>
  6848. Initializes the service exception using the
  6849. given <paramref name="serviceType" /> as
  6850. the service that was not found.
  6851. </summary>
  6852. <param name="serviceType">The service type being requested.</param>
  6853. </member>
  6854. <member name="P:LinFu.IoC.ServiceNotFoundException.Message">
  6855. <summary>
  6856. The error message that this particular exception
  6857. will display.
  6858. </summary>
  6859. </member>
  6860. <member name="T:LinFu.IoC.NamedServiceNotFoundException">
  6861. <summary>
  6862. The exception thrown when a service name and a service type is
  6863. requested from a named container and that named container
  6864. is unable to find or create that particular service instance.
  6865. </summary>
  6866. </member>
  6867. <member name="M:LinFu.IoC.NamedServiceNotFoundException.#ctor(System.String,System.Type)">
  6868. <summary>
  6869. Initializes the service exception using the
  6870. given <paramref name="serviceType" /> as
  6871. the service that was not found.
  6872. </summary>
  6873. <param name="serviceType">The service type being requested.</param>
  6874. <param name="serviceName">The name of the service being requested.</param>
  6875. </member>
  6876. <member name="P:LinFu.IoC.NamedServiceNotFoundException.Message">
  6877. <summary>
  6878. The error message that this particular exception
  6879. will display.
  6880. </summary>
  6881. </member>
  6882. <member name="T:LinFu.IoC.ServiceInfo">
  6883. <summary>
  6884. Represents the default implementation of the ServiceInfo class.
  6885. </summary>
  6886. </member>
  6887. <member name="M:LinFu.IoC.ServiceInfo.#ctor(System.String,System.Type)">
  6888. <summary>
  6889. Initializes the class with the given <paramref name="serviceName" />
  6890. and <paramref name="serviceType" />.
  6891. </summary>
  6892. <param name="serviceName">The name of the service.</param>
  6893. <param name="serviceType">The type of service that can be created.</param>
  6894. </member>
  6895. <member name="M:LinFu.IoC.ServiceInfo.#ctor(System.String,System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  6896. <summary>
  6897. Initializes the class with the given <paramref name="serviceName" />
  6898. and <paramref name="serviceType" />.
  6899. </summary>
  6900. <param name="serviceName">The name of the service.</param>
  6901. <param name="serviceType">The type of service that can be created.</param>
  6902. <param name="arguments">The parameter types required by the given service.</param>
  6903. </member>
  6904. <member name="M:LinFu.IoC.ServiceInfo.ToString">
  6905. <summary>
  6906. Displays the name of the current service and the current service type.
  6907. </summary>
  6908. <returns>The name of the current service and the current service type.</returns>
  6909. </member>
  6910. <member name="M:LinFu.IoC.ServiceInfo.Equals(System.Object)">
  6911. <summary>
  6912. Determines if the other object is equal to the current <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> instance.
  6913. </summary>
  6914. <param name="obj">The other object that will be used in the comparison.</param>
  6915. <returns>Returns <c>true</c> if both instances have the same service name, implement the same service type and have the same arguments; otherwise, it will return <c>false</c>.</returns>
  6916. </member>
  6917. <member name="P:LinFu.IoC.ServiceInfo.ServiceName">
  6918. <summary>
  6919. The name of the service being created. By default, this property is blank.
  6920. </summary>
  6921. </member>
  6922. <member name="P:LinFu.IoC.ServiceInfo.ServiceType">
  6923. <summary>
  6924. The type of service being requested.
  6925. </summary>
  6926. </member>
  6927. <member name="P:LinFu.IoC.ServiceInfo.ArgumentTypes">
  6928. <summary>
  6929. Gets a value indicating the list of arguments required by this particular service.
  6930. </summary>
  6931. </member>
  6932. <member name="T:LinFu.IoC.ServiceRequest">
  6933. <summary>
  6934. Reprsents the default implementation of the <see cref="T:LinFu.IoC.Interfaces.IServiceRequest" /> interface.
  6935. </summary>
  6936. </member>
  6937. <member name="M:LinFu.IoC.ServiceRequest.#ctor(System.String,System.Type,System.Object[],LinFu.IoC.Interfaces.IFactory,LinFu.IoC.Interfaces.IServiceContainer)">
  6938. <summary>
  6939. Initializes the <see cref="T:LinFu.IoC.ServiceRequest" /> class.
  6940. </summary>
  6941. <param name="serviceName">The name of the requested service.</param>
  6942. <param name="serviceType">The requested service type.</param>
  6943. <param name="proposedArguments">The proposed set of arguments that will be given to the factory.</param>
  6944. <param name="proposedFactory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be used to handle the service request.</param>
  6945. <param name="container">The host container.</param>
  6946. </member>
  6947. <member name="P:LinFu.IoC.ServiceRequest.ProposedArguments">
  6948. <summary>
  6949. Gets the value indicating the original arguments that
  6950. were given during the service request.
  6951. </summary>
  6952. </member>
  6953. <member name="P:LinFu.IoC.ServiceRequest.ProposedFactory">
  6954. <summary>
  6955. Gets the value indicating the original <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance
  6956. that will be used to handle the service request.
  6957. </summary>
  6958. </member>
  6959. <member name="P:LinFu.IoC.ServiceRequest.Container">
  6960. <summary>
  6961. The container that will handle the service request.
  6962. </summary>
  6963. </member>
  6964. <member name="P:LinFu.IoC.ServiceRequest.ActualArguments">
  6965. <summary>
  6966. Gets or sets the value indicating the actual arguments that
  6967. will be used for the service request.
  6968. </summary>
  6969. </member>
  6970. <member name="P:LinFu.IoC.ServiceRequest.ActualFactory">
  6971. <summary>
  6972. Gets or sets the value indicating the actual <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance
  6973. that will be used to handle the service request.
  6974. </summary>
  6975. </member>
  6976. <member name="T:LinFu.IoC.ServiceRequestResult">
  6977. <summary>
  6978. Represents the results returned when a service request
  6979. is made against an <see cref="T:LinFu.IoC.Interfaces.IContainer" /> instance.
  6980. </summary>
  6981. </member>
  6982. <member name="P:LinFu.IoC.ServiceRequestResult.ServiceName">
  6983. <summary>
  6984. The name of the service being created. By default, this property is blank.
  6985. </summary>
  6986. </member>
  6987. <member name="P:LinFu.IoC.ServiceRequestResult.OriginalResult">
  6988. <summary>
  6989. The raw object reference created by the container itself.
  6990. </summary>
  6991. </member>
  6992. <member name="P:LinFu.IoC.ServiceRequestResult.ActualResult">
  6993. <summary>
  6994. The result that will be returned from the container
  6995. instead of the <see cref="P:LinFu.IoC.ServiceRequestResult.OriginalResult" />.
  6996. If this property is null, then the original result will be used.
  6997. </summary>
  6998. </member>
  6999. <member name="P:LinFu.IoC.ServiceRequestResult.ServiceType">
  7000. <summary>
  7001. The type of service being requested.
  7002. </summary>
  7003. </member>
  7004. <member name="P:LinFu.IoC.ServiceRequestResult.Container">
  7005. <summary>
  7006. The container that will handle the service request.
  7007. </summary>
  7008. </member>
  7009. <member name="P:LinFu.IoC.ServiceRequestResult.AdditionalArguments">
  7010. <summary>
  7011. Gets or sets the value indicating the additional arguments that
  7012. were used during the service request.
  7013. </summary>
  7014. </member>
  7015. <member name="T:LinFu.Proxy.MethodBodyEmitter">
  7016. <summary>
  7017. Provides the default implementation for the
  7018. <see cref="T:LinFu.Proxy.Interfaces.IMethodBodyEmitter" /> interface.
  7019. </summary>
  7020. </member>
  7021. <member name="M:LinFu.Proxy.MethodBodyEmitter.#ctor">
  7022. <summary>
  7023. Initializes the class with the default values.
  7024. </summary>
  7025. </member>
  7026. <member name="M:LinFu.Proxy.MethodBodyEmitter.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  7027. <summary>
  7028. Initializes the MethodBodyEmitter class.
  7029. </summary>
  7030. <param name="source">
  7031. </param>
  7032. </member>
  7033. <member name="M:LinFu.Proxy.MethodBodyEmitter.Emit(System.Reflection.MethodInfo,Mono.Cecil.MethodDefinition)">
  7034. <summary>
  7035. Generates a method body for the <paramref name="targetMethod" />.
  7036. </summary>
  7037. <param name="originalMethod">The method currently being intercepted.</param>
  7038. <param name="targetMethod">The target method that will contain the new method body.</param>
  7039. </member>
  7040. <member name="M:LinFu.Proxy.MethodBodyEmitter.EmitGetInterceptorInstruction(Mono.Cecil.Cil.CilWorker,Mono.Cecil.TypeReference,Mono.Cecil.MethodReference)">
  7041. <summary>
  7042. Emits the IL instructions to obtain an <see cref="T:LinFu.AOP.Interfaces.IInterceptor" /> instance for the proxy type.
  7043. </summary>
  7044. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> responsible for emitting the method body.</param>
  7045. <param name="proxyType">The proxy type.</param>
  7046. <param name="getInterceptorMethod">The getter method for the interceptor.</param>
  7047. </member>
  7048. <member name="M:LinFu.Proxy.MethodBodyEmitter.ImplementNotFound(Mono.Cecil.Cil.CilWorker)">
  7049. <summary>
  7050. Causes the <see cref="T:Mono.Cecil.Cil.CilWorker" /> to make the method throw a
  7051. <see cref="T:System.NotImplementedException" /> if the method cannot be found.
  7052. </summary>
  7053. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> responsible for emitting the method body.</param>
  7054. </member>
  7055. <member name="M:LinFu.Proxy.MethodBodyEmitter.SaveRefArguments(Mono.Cecil.Cil.CilWorker,System.Collections.Generic.IEnumerable{Mono.Cecil.ParameterDefinition},Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition)">
  7056. <summary>
  7057. Saves the ref arguments of a given method using the
  7058. <paramref name="arguments" /> from the <paramref name="invocationInfo" />
  7059. object.
  7060. </summary>
  7061. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will emit the method body.</param>
  7062. <param name="parameters">The parameters of the target method.</param>
  7063. <param name="invocationInfo">The local variable that contains the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
  7064. <param name="arguments">The local variable that will store the arguments from the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
  7065. </member>
  7066. <member name="P:LinFu.Proxy.MethodBodyEmitter.InvocationInfoEmitter">
  7067. <summary>
  7068. The <see cref="T:LinFu.AOP.Cecil.Interfaces.IEmitInvocationInfo" /> instance that
  7069. </summary>
  7070. </member>
  7071. <member name="T:LinFu.Proxy.ProxyBuilder">
  7072. <summary>
  7073. A <see cref="T:LinFu.Proxy.Interfaces.IProxyBuilder" /> type that generates
  7074. proxies that forward all virtual method calls to a
  7075. single interceptor.
  7076. </summary>
  7077. </member>
  7078. <member name="M:LinFu.Proxy.ProxyBuilder.#ctor">
  7079. <summary>
  7080. Initializes the current class with the default values.
  7081. </summary>
  7082. </member>
  7083. <member name="M:LinFu.Proxy.ProxyBuilder.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  7084. <summary>
  7085. Initializes the current instance
  7086. with the <paramref name="source" /> container.
  7087. </summary>
  7088. <param name="source">The <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance that will hold the current instance.</param>
  7089. </member>
  7090. <member name="M:LinFu.Proxy.ProxyBuilder.Construct(System.Type,System.Collections.Generic.IEnumerable{System.Type},Mono.Cecil.ModuleDefinition,Mono.Cecil.TypeDefinition)">
  7091. <summary>
  7092. Generates a proxy that forwards all virtual method calls
  7093. to a single <see cref="T:LinFu.AOP.Interfaces.IInterceptor" /> instance.
  7094. </summary>
  7095. <param name="originalBaseType">The base class of the type being constructed.</param>
  7096. <param name="baseInterfaces">The list of interfaces that the new type must implement.</param>
  7097. <param name="module">The module that will hold the brand new type.</param>
  7098. <param name="targetType">The <see cref="T:Mono.Cecil.TypeDefinition" /> that represents the type to be created.</param>
  7099. </member>
  7100. <member name="P:LinFu.Proxy.ProxyBuilder.ProxyImplementor">
  7101. <summary>
  7102. Gets or sets the <see cref="T:LinFu.Reflection.Emit.Interfaces.ITypeBuilder" /> interface
  7103. which will emit the actual implementation of the IProxy interface.
  7104. </summary>
  7105. </member>
  7106. <member name="P:LinFu.Proxy.ProxyBuilder.MethodPicker">
  7107. <summary>
  7108. Gets or sets the <see cref="T:LinFu.Proxy.Interfaces.IMethodPicker" />
  7109. instance that will determine which methods
  7110. will be proxied by the proxy builder.
  7111. </summary>
  7112. </member>
  7113. <member name="P:LinFu.Proxy.ProxyBuilder.ProxyMethodBuilder">
  7114. <summary>
  7115. The <see cref="T:LinFu.Proxy.Interfaces.IMethodBuilder" /> instance
  7116. that will be responsible for generating each method
  7117. for the current target type.
  7118. </summary>
  7119. </member>
  7120. <member name="T:LinFu.Proxy.InterfaceExtractor">
  7121. <summary>
  7122. Provides the default implementation for the
  7123. <see cref="T:LinFu.Proxy.Interfaces.IExtractInterfaces" /> interface.
  7124. </summary>
  7125. </member>
  7126. <member name="M:LinFu.Proxy.InterfaceExtractor.GetInterfaces(System.Type,System.Collections.Generic.HashSet{System.Type})">
  7127. <summary>
  7128. Determines which interfaces a given type should implement.
  7129. </summary>
  7130. <param name="currentType">The base type that holds the list of interfaces to implement.</param>
  7131. <param name="interfaceList">The list of interfaces already being implemented. </param>
  7132. </member>
  7133. <member name="T:LinFu.Proxy.MethodPicker">
  7134. <summary>
  7135. Represents the default class implementation for the
  7136. <see cref="T:LinFu.Proxy.Interfaces.IMethodPicker" /> interface.
  7137. </summary>
  7138. </member>
  7139. <member name="M:LinFu.Proxy.MethodPicker.ChooseProxyMethodsFrom(System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  7140. <summary>
  7141. Determines which methods can be proxied from
  7142. the given <paramref name="baseType" /> and <paramref name="baseInterfaces" />.
  7143. </summary>
  7144. <remarks>By default, only public virtual methods will be proxied.</remarks>
  7145. <param name="baseType">The base class of the proxy type currently being generated.</param>
  7146. <param name="baseInterfaces">The list of interfaces that the proxy must implement.</param>
  7147. <returns>A list of <see cref="T:System.Reflection.MethodInfo" /> objects that can be proxied.</returns>
  7148. </member>
  7149. <member name="T:LinFu.Proxy.ProxyCache">
  7150. <summary>
  7151. Represents the default implementation of the <see cref="T:LinFu.Proxy.Interfaces.IProxyCache" /> interface.
  7152. </summary>
  7153. </member>
  7154. <member name="M:LinFu.Proxy.ProxyCache.Contains(System.Type,System.Type[])">
  7155. <summary>
  7156. Determines whether or not the cache contains an existing proxy type
  7157. that is derived from the <paramref name="baseType" /> and implements
  7158. the given <paramref name="baseInterfaces" />.
  7159. </summary>
  7160. <param name="baseType">The base type of the dynamically-generated proxy type.</param>
  7161. <param name="baseInterfaces">The list of interfaces that the generated proxy type must implement.</param>
  7162. <returns>Returns <c>true</c> if the proxy type already exists; otherwise, it will return <c>false.</c></returns>
  7163. </member>
  7164. <member name="M:LinFu.Proxy.ProxyCache.Get(System.Type,System.Type[])">
  7165. <summary>
  7166. Retrieves an existing proxy type from the cache.
  7167. </summary>
  7168. <param name="baseType">The base type of the dynamically-generated proxy type.</param>
  7169. <param name="baseInterfaces">The list of interfaces that the generated proxy type must implement.</param>
  7170. <returns>Returns a valid <see cref="T:System.Type" /> if the type already exists; otherwise, it might return <c>null</c> or opt to throw an exception.</returns>
  7171. </member>
  7172. <member name="M:LinFu.Proxy.ProxyCache.Store(System.Type,System.Type,System.Type[])">
  7173. <summary>
  7174. Stores a proxy type in the cache.
  7175. </summary>
  7176. <param name="result">The proxy type to be stored.</param>
  7177. <param name="baseType">The base type of the dynamically-generated proxy type.</param>
  7178. <param name="baseInterfaces">The list of interfaces that the generated proxy type must implement.</param>
  7179. </member>
  7180. <member name="T:LinFu.Proxy.ProxyCacheEntry">
  7181. <summary>
  7182. Represents a cached proxy type.
  7183. </summary>
  7184. </member>
  7185. <member name="T:LinFu.Proxy.ProxyFactory">
  7186. <summary>
  7187. Provides the basic implementation for a proxy factory class.
  7188. </summary>
  7189. </member>
  7190. <member name="M:LinFu.Proxy.ProxyFactory.#ctor">
  7191. <summary>
  7192. Initializes the proxy factory with the default values.
  7193. </summary>
  7194. </member>
  7195. <member name="M:LinFu.Proxy.ProxyFactory.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  7196. <summary>
  7197. Initializes the <see cref="T:LinFu.Proxy.ProxyFactory" /> instance
  7198. with the <paramref name="source" /> container.
  7199. </summary>
  7200. <param name="source">The <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance that will hold the ProxyFactory.</param>
  7201. </member>
  7202. <member name="M:LinFu.Proxy.ProxyFactory.CreateProxyType(System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  7203. <summary>
  7204. Creates a proxy type using the given
  7205. <paramref name="baseType" /> as the base class
  7206. and ensures that the proxy type implements the given
  7207. interface types.
  7208. </summary>
  7209. <param name="baseType">The base class from which the proxy type will be derived.</param>
  7210. <param name="baseInterfaces">The list of interfaces that the proxy will implement.</param>
  7211. <returns>A forwarding proxy.</returns>
  7212. </member>
  7213. <member name="P:LinFu.Proxy.ProxyFactory.InterfaceExtractor">
  7214. <summary>
  7215. Gets or sets the <see cref="T:LinFu.Proxy.Interfaces.IExtractInterfaces" /> type that will be
  7216. responsible for determining which interfaces
  7217. the proxy type should implement.
  7218. </summary>
  7219. </member>
  7220. <member name="P:LinFu.Proxy.ProxyFactory.ProxyBuilder">
  7221. <summary>
  7222. The <see cref="T:LinFu.Proxy.Interfaces.IProxyBuilder" /> instance that is
  7223. responsible for generating the proxy type.
  7224. </summary>
  7225. </member>
  7226. <member name="P:LinFu.Proxy.ProxyFactory.Verifier">
  7227. <summary>
  7228. The <see cref="T:LinFu.AOP.Cecil.Interfaces.IVerifier" /> instance that will be used to
  7229. ensure that the generated assemblies are valid.
  7230. </summary>
  7231. </member>
  7232. <member name="P:LinFu.Proxy.ProxyFactory.Cache">
  7233. <summary>
  7234. Gets or sets a value indicating the <see cref="T:LinFu.Proxy.Interfaces.IProxyCache" />
  7235. instance that will be used to cache previous proxy generation runs.
  7236. </summary>
  7237. </member>
  7238. <member name="T:LinFu.Proxy.ProxyImplementor">
  7239. <summary>
  7240. A class that provides the default implementation
  7241. for the IProxy interface.
  7242. </summary>
  7243. </member>
  7244. <member name="M:LinFu.Proxy.ProxyImplementor.Construct(Mono.Cecil.ModuleDefinition,Mono.Cecil.TypeDefinition)">
  7245. <summary>
  7246. Constructs a type that implements the
  7247. <see cref="T:LinFu.Proxy.Interfaces.IProxy" /> interface.
  7248. </summary>
  7249. <param name="module">The module that will hold the target type.</param>
  7250. <param name="targetType">The type that will implement the <see cref="T:LinFu.Proxy.Interfaces.IProxy" /> interface.</param>
  7251. </member>
  7252. <member name="T:LinFu.Proxy.ProxyMethodBuilder">
  7253. <summary>
  7254. Represents the default implementation of the
  7255. <see cref="T:LinFu.Proxy.Interfaces.IMethodBuilder" /> interface.
  7256. </summary>
  7257. </member>
  7258. <member name="M:LinFu.Proxy.ProxyMethodBuilder.#ctor">
  7259. <summary>
  7260. Initializes the <see cref="T:LinFu.Proxy.ProxyMethodBuilder" /> class with the default property values.
  7261. </summary>
  7262. </member>
  7263. <member name="M:LinFu.Proxy.ProxyMethodBuilder.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  7264. <summary>
  7265. Initializes the class with the <paramref name="source" /> container.
  7266. </summary>
  7267. <param name="source">The <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance that will create the class instance.</param>
  7268. </member>
  7269. <member name="M:LinFu.Proxy.ProxyMethodBuilder.CreateMethod(Mono.Cecil.TypeDefinition,System.Reflection.MethodInfo)">
  7270. <summary>
  7271. Creates a method that matches the signature defined in the
  7272. <paramref name="method" /> parameter.
  7273. </summary>
  7274. <param name="targetType">The type that will host the new method.</param>
  7275. <param name="method">The method from which the signature will be derived.</param>
  7276. </member>
  7277. <member name="M:LinFu.Proxy.ProxyMethodBuilder.MatchGenericArguments(Mono.Cecil.MethodDefinition,System.Collections.Generic.ICollection{System.Type})">
  7278. <summary>
  7279. Matches the generic parameters of <paramref name="newMethod">a target method</paramref></summary>
  7280. <param name="newMethod">The generic method that contains the generic type arguments.</param>
  7281. <param name="typeArguments">The array of <see cref="T:System.Type" /> objects that describe the generic parameters for the current method.</param>
  7282. </member>
  7283. <member name="P:LinFu.Proxy.ProxyMethodBuilder.Emitter">
  7284. <summary>
  7285. The <see cref="T:LinFu.Proxy.Interfaces.IMethodBodyEmitter" /> instance that will be
  7286. responsible for generating the method body.
  7287. </summary>
  7288. </member>
  7289. <member name="T:LinFu.Proxy.ProxyObjectReference">
  7290. <summary>
  7291. Represents a helper class that deserializes proxy instances.
  7292. </summary>
  7293. </member>
  7294. <member name="M:LinFu.Proxy.ProxyObjectReference.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
  7295. <summary>
  7296. Initializes a new instance of the ProxyObjectReference class.
  7297. </summary>
  7298. <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> class that contains the serialized data.</param>
  7299. <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that describes the serialization state.</param>
  7300. </member>
  7301. <member name="M:LinFu.Proxy.ProxyObjectReference.GetRealObject(System.Runtime.Serialization.StreamingContext)">
  7302. <summary>
  7303. Returns the deserialized proxy instance.
  7304. </summary>
  7305. <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that describes the serialization state.</param>
  7306. <returns>
  7307. </returns>
  7308. </member>
  7309. <member name="M:LinFu.Proxy.ProxyObjectReference.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
  7310. <summary>
  7311. Serializes the proxy to a stream.
  7312. </summary>
  7313. <remarks>This method override does nothing.</remarks>
  7314. <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> class that contains the serialized data.</param>
  7315. <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that describes the serialization state.</param>
  7316. </member>
  7317. <member name="T:LinFu.Proxy.SerializableProxyBuilder">
  7318. <summary>
  7319. Represents a <see cref="T:LinFu.Proxy.ProxyBuilder" /> type that can create serializable proxy types.
  7320. </summary>
  7321. </member>
  7322. <member name="M:LinFu.Proxy.SerializableProxyBuilder.Construct(System.Type,System.Collections.Generic.IEnumerable{System.Type},Mono.Cecil.ModuleDefinition,Mono.Cecil.TypeDefinition)">
  7323. <summary>
  7324. Generates a proxy that forwards all virtual method calls
  7325. to a single <see cref="T:LinFu.AOP.Interfaces.IInterceptor" /> instance.
  7326. </summary>
  7327. <param name="originalBaseType">The base class of the type being constructed.</param>
  7328. <param name="baseInterfaces">The list of interfaces that the new type must implement.</param>
  7329. <param name="module">The module that will hold the brand new type.</param>
  7330. <param name="targetType">The <see cref="T:Mono.Cecil.TypeDefinition" /> that represents the type to be created.</param>
  7331. </member>
  7332. <member name="T:LinFu.Proxy.ObjectExtensions">
  7333. <summary>
  7334. A class that adds proxy support to the <see cref="T:System.Object" /> class
  7335. </summary>
  7336. </member>
  7337. <member name="M:LinFu.Proxy.ObjectExtensions.CreateDuck``1(System.Object,System.Type[])">
  7338. <summary>
  7339. Creates a duck type that redirects its calls to the
  7340. given <paramref name="target" />.
  7341. </summary>
  7342. <param name="target">The target instance that will be invoked once the duck type instance has been invoked.</param>
  7343. <param name="baseInterfaces">The additional list of interfaces that will be implemented by the duck type.</param>
  7344. <typeparam name="T">The type parameter that describes the duck type.</typeparam>
  7345. <returns>The return value from the target method.</returns>
  7346. </member>
  7347. <member name="M:LinFu.Proxy.ObjectExtensions.CreateDuck(System.Object,System.Type,System.Type[])">
  7348. <summary>
  7349. Creates a duck type that redirects its calls to the
  7350. given <paramref name="target" />.
  7351. </summary>
  7352. <param name="target">The target instance that will be invoked once the duck type instance has been invoked.</param>
  7353. <param name="duckType">The <see cref="T:System.Type" /> that describes the duck type.</param>
  7354. <param name="baseInterfaces">The additional list of interfaces that will be implemented by the duck type.</param>
  7355. <returns>The return value from the target method.</returns>
  7356. </member>
  7357. <member name="T:LinFu.Proxy.CallAdapter">
  7358. <summary>
  7359. Adapts an <see cref="T:LinFu.AOP.Interfaces.IInvokeWrapper" /> instance to an
  7360. <see cref="T:LinFu.AOP.Interfaces.IInterceptor" /> instance.
  7361. </summary>
  7362. </member>
  7363. <member name="M:LinFu.Proxy.CallAdapter.#ctor(LinFu.AOP.Interfaces.IInvokeWrapper)">
  7364. <summary>
  7365. Initializes the CallAdapter class with the <paramref name="wrapper" /> instance.
  7366. </summary>
  7367. <param name="wrapper">The <see cref="T:LinFu.AOP.Interfaces.IInvokeWrapper" /> instance that will be called every time the interceptor is invoked.</param>
  7368. </member>
  7369. <member name="M:LinFu.Proxy.CallAdapter.Intercept(LinFu.AOP.Interfaces.IInvocationInfo)">
  7370. <summary>
  7371. Intercepts a method call and passes the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> arguments
  7372. down to the <see cref="T:LinFu.AOP.Interfaces.IInvokeWrapper" /> instance.
  7373. </summary>
  7374. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the method currently being executed.</param>
  7375. <returns>The return value of the target method.</returns>
  7376. </member>
  7377. <member name="T:LinFu.Proxy.Interfaces.FunctorAsInterceptor">
  7378. <summary>
  7379. A class that converts a functor into an <see cref="T:LinFu.AOP.Interfaces.IInterceptor" /> instance.
  7380. </summary>
  7381. </member>
  7382. <member name="M:LinFu.Proxy.Interfaces.FunctorAsInterceptor.#ctor(System.Func{LinFu.AOP.Interfaces.IInvocationInfo,System.Object})">
  7383. <summary>
  7384. Initializes the class with the given <paramref name="intercept">functor</paramref>.
  7385. </summary>
  7386. <param name="intercept">The functor that will be invoked every time a method is called on the proxy type.</param>
  7387. </member>
  7388. <member name="M:LinFu.Proxy.Interfaces.FunctorAsInterceptor.Intercept(LinFu.AOP.Interfaces.IInvocationInfo)">
  7389. <summary>
  7390. A method that redirects the method calls to
  7391. the functor instance.
  7392. </summary>
  7393. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the context of the method call.</param>
  7394. <returns>The return value from the target method.</returns>
  7395. </member>
  7396. <member name="T:LinFu.Proxy.Interfaces.IExtractInterfaces">
  7397. <summary>
  7398. A class that is responsible for determining
  7399. which interfaces a given type should implement.
  7400. </summary>
  7401. </member>
  7402. <member name="M:LinFu.Proxy.Interfaces.IExtractInterfaces.GetInterfaces(System.Type,System.Collections.Generic.HashSet{System.Type})">
  7403. <summary>
  7404. Determines which interfaces a given type should implement.
  7405. </summary>
  7406. <param name="currentType">The base type that holds the list of interfaces to implement.</param>
  7407. <param name="interfaces">The list of interfaces already being implemented. </param>
  7408. </member>
  7409. <member name="T:LinFu.Proxy.Interfaces.IMethodBodyEmitter">
  7410. <summary>
  7411. Represents a class that is responsible for
  7412. constructing method bodies.
  7413. </summary>
  7414. </member>
  7415. <member name="M:LinFu.Proxy.Interfaces.IMethodBodyEmitter.Emit(System.Reflection.MethodInfo,Mono.Cecil.MethodDefinition)">
  7416. <summary>
  7417. Generates the method body for the <paramref name="targetMethod">target method</paramref>.
  7418. </summary>
  7419. <param name="originalMethod">The original method that the <paramref name="targetMethod" /> will be based on.</param>
  7420. <param name="targetMethod">The method that will contain the method body to be emitted.</param>
  7421. </member>
  7422. <member name="T:LinFu.Proxy.Interfaces.IMethodPicker">
  7423. <summary>
  7424. Represents a class that determines which methods should be proxied
  7425. by a given proxy factory.
  7426. </summary>
  7427. </member>
  7428. <member name="M:LinFu.Proxy.Interfaces.IMethodPicker.ChooseProxyMethodsFrom(System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  7429. <summary>
  7430. Determines which methods should be proxied
  7431. by a given proxy factory.
  7432. </summary>
  7433. <param name="baseType">The base class of the proxy type currently being generated.</param>
  7434. <param name="baseInterfaces">The list of interfaces that the proxy must implement.</param>
  7435. <returns>A list of <see cref="T:System.Reflection.MethodInfo" /> objects that can be proxied.</returns>
  7436. </member>
  7437. <member name="T:LinFu.Proxy.Interfaces.IMethodBuilder">
  7438. <summary>
  7439. Represents a class that generates methods based on other existing
  7440. methods.
  7441. </summary>
  7442. </member>
  7443. <member name="M:LinFu.Proxy.Interfaces.IMethodBuilder.CreateMethod(Mono.Cecil.TypeDefinition,System.Reflection.MethodInfo)">
  7444. <summary>
  7445. Creates a method that matches the signature defined in the
  7446. <paramref name="method" /> parameter.
  7447. </summary>
  7448. <param name="targetType">The type that will host the new method.</param>
  7449. <param name="method">The method from which the signature will be derived.</param>
  7450. </member>
  7451. <member name="T:LinFu.Proxy.Interfaces.IProxyCache">
  7452. <summary>
  7453. Represents an interface for classes that store results from an
  7454. <see cref="T:LinFu.Proxy.Interfaces.IProxyFactory" /> instance.
  7455. </summary>
  7456. </member>
  7457. <member name="M:LinFu.Proxy.Interfaces.IProxyCache.Contains(System.Type,System.Type[])">
  7458. <summary>
  7459. Determines whether or not the cache contains an existing proxy type
  7460. that is derived from the <paramref name="baseType" /> and implements
  7461. the given <paramref name="baseInterfaces" />.
  7462. </summary>
  7463. <param name="baseType">The base type of the dynamically-generated proxy type.</param>
  7464. <param name="baseInterfaces">The list of interfaces that the generated proxy type must implement.</param>
  7465. <returns>Returns <c>true</c> if the proxy type already exists; otherwise, it will return <c>false.</c></returns>
  7466. </member>
  7467. <member name="M:LinFu.Proxy.Interfaces.IProxyCache.Get(System.Type,System.Type[])">
  7468. <summary>
  7469. Retrieves an existing proxy type from the cache.
  7470. </summary>
  7471. <param name="baseType">The base type of the dynamically-generated proxy type.</param>
  7472. <param name="baseInterfaces">The list of interfaces that the generated proxy type must implement.</param>
  7473. <returns>Returns a valid <see cref="T:System.Type" /> if the type already exists; otherwise, it might return <c>null</c> or opt to throw an exception.</returns>
  7474. </member>
  7475. <member name="M:LinFu.Proxy.Interfaces.IProxyCache.Store(System.Type,System.Type,System.Type[])">
  7476. <summary>
  7477. Stores a proxy type in the cache.
  7478. </summary>
  7479. <param name="result">The proxy type to be stored.</param>
  7480. <param name="baseType">The base type of the dynamically-generated proxy type.</param>
  7481. <param name="baseInterfaces">The list of interfaces that the generated proxy type must implement.</param>
  7482. </member>
  7483. <member name="T:LinFu.Proxy.Interfaces.IProxy">
  7484. <summary>
  7485. Represents a dynamically generated proxy instance.
  7486. </summary>
  7487. </member>
  7488. <member name="P:LinFu.Proxy.Interfaces.IProxy.Interceptor">
  7489. <summary>
  7490. The interceptor that will handle all
  7491. calls made to the proxy instance.
  7492. </summary>
  7493. </member>
  7494. <member name="T:LinFu.Proxy.Interfaces.IProxyBuilder">
  7495. <summary>
  7496. Represents a class that is responsible
  7497. for generating proxy types.
  7498. </summary>
  7499. </member>
  7500. <member name="M:LinFu.Proxy.Interfaces.IProxyBuilder.Construct(System.Type,System.Collections.Generic.IEnumerable{System.Type},Mono.Cecil.ModuleDefinition,Mono.Cecil.TypeDefinition)">
  7501. <summary>
  7502. Generates a proxy that must be derived
  7503. from the <paramref name="baseType" /> and implement
  7504. the list of <paramref name="interfaces" />.
  7505. </summary>
  7506. <param name="baseType">The base class of the type being constructed.</param>
  7507. <param name="interfaces">The list of interfaces that the new type must implement.</param>
  7508. <param name="module">The module that will hold the brand new type.</param>
  7509. <param name="targetType">The <see cref="T:Mono.Cecil.TypeDefinition" /> that represents the type to be created.</param>
  7510. </member>
  7511. <member name="T:LinFu.Proxy.Interfaces.IProxyFactory">
  7512. <summary>
  7513. Represents the basic interface for creating
  7514. dynamic proxy instances.
  7515. </summary>
  7516. </member>
  7517. <member name="M:LinFu.Proxy.Interfaces.IProxyFactory.CreateProxyType(System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  7518. <summary>
  7519. Generates a dynamic proxy type
  7520. that derives from the <paramref name="baseType" />
  7521. and implements the given <paramref name="baseInterfaces">interfaces</paramref>.
  7522. </summary>
  7523. <param name="baseType">The base class from which the generated dynamic proxy will be derived.</param>
  7524. <param name="baseInterfaces">The list of interfaces that the generated dynamic proxy will implement.</param>
  7525. <returns>A dynamic proxy type.</returns>
  7526. </member>
  7527. <member name="T:LinFu.Proxy.Interfaces.ProxyFactoryExtensions">
  7528. <summary>
  7529. Extends the <see cref="T:LinFu.Proxy.Interfaces.IProxyFactory" /> class to support
  7530. instantiating proxy types.
  7531. </summary>
  7532. </member>
  7533. <member name="M:LinFu.Proxy.Interfaces.ProxyFactoryExtensions.CreateProxy(LinFu.Proxy.Interfaces.IProxyFactory,System.Type,LinFu.AOP.Interfaces.IInvokeWrapper,System.Type[])">
  7534. <summary>
  7535. Uses the <paramref name="factory" /> to create a proxy instance
  7536. that directly derives from the <paramref name="instanceType" />
  7537. and implements the given <paramref name="baseInterfaces" />.
  7538. The <paramref name="wrapper" /> instance, in turn, will be used
  7539. to intercept the method calls made to the proxy itself.
  7540. </summary>
  7541. <param name="factory">The IProxyFactory instance that will be used to generate the proxy type.</param>
  7542. <param name="instanceType">The type that will be intercepted by the proxy.</param>
  7543. <param name="wrapper">The <see cref="T:LinFu.AOP.Interfaces.IInvokeWrapper" /> instance that will be used to intercept method calls made to the proxy.</param>
  7544. <param name="baseInterfaces">The additional list of interfaces that the proxy will implement.</param>
  7545. <returns>A valid proxy instance.</returns>
  7546. </member>
  7547. <member name="M:LinFu.Proxy.Interfaces.ProxyFactoryExtensions.CreateProxy(LinFu.Proxy.Interfaces.IProxyFactory,System.Type,LinFu.AOP.Interfaces.IInterceptor,System.Type[])">
  7548. <summary>
  7549. Uses the <paramref name="factory" /> to create a proxy instance
  7550. that directly derives from the <paramref name="instanceType" />
  7551. and implements the given <paramref name="baseInterfaces" />.
  7552. The <paramref name="interceptor" /> instance, in turn, will be used
  7553. to intercept the method calls made to the proxy itself.
  7554. </summary>
  7555. <param name="factory">The IProxyFactory instance that will be used to generate the proxy type.</param>
  7556. <param name="instanceType">The type that will be intercepted by the proxy.</param>
  7557. <param name="interceptor">The <see cref="T:LinFu.AOP.Interfaces.IInterceptor" /> instance that will be used to intercept method calls made to the proxy.</param>
  7558. <param name="baseInterfaces">The additional list of interfaces that the proxy will implement.</param>
  7559. <returns>A valid proxy instance.</returns>
  7560. </member>
  7561. <member name="M:LinFu.Proxy.Interfaces.ProxyFactoryExtensions.CreateProxy``1(LinFu.Proxy.Interfaces.IProxyFactory,LinFu.AOP.Interfaces.IInvokeWrapper,System.Type[])">
  7562. <summary>
  7563. Uses the <paramref name="factory" /> to create a proxy instance
  7564. that directly derives from the <typeparamref name="T" /> type
  7565. and implements the given <paramref name="baseInterfaces" />.
  7566. The <paramref name="wrapper" /> instance, in turn, will be used
  7567. to intercept the method calls made to the proxy itself.
  7568. </summary>
  7569. <typeparam name="T">The type that will be intercepted by the proxy.</typeparam>
  7570. <param name="factory">The IProxyFactory instance that will be used to generate the proxy type.</param>
  7571. <param name="wrapper">The <see cref="T:LinFu.AOP.Interfaces.IInvokeWrapper" /> instance that will be used to intercept method calls made to the proxy.</param>
  7572. <param name="baseInterfaces">The additional list of interfaces that the proxy will implement.</param>
  7573. <returns>A valid proxy instance.</returns>
  7574. </member>
  7575. <member name="M:LinFu.Proxy.Interfaces.ProxyFactoryExtensions.CreateProxy``1(LinFu.Proxy.Interfaces.IProxyFactory,LinFu.AOP.Interfaces.IInterceptor,System.Type[])">
  7576. <summary>
  7577. Uses the <paramref name="factory" /> to create a proxy instance
  7578. that directly derives from the <typeparamref name="T" /> type
  7579. and implements the given <paramref name="baseInterfaces" />.
  7580. The <paramref name="interceptor" /> instance, in turn, will be used
  7581. to intercept the method calls made to the proxy itself.
  7582. </summary>
  7583. <typeparam name="T">The type that will be intercepted by the proxy.</typeparam>
  7584. <param name="factory">The IProxyFactory instance that will be used to generate the proxy type.</param>
  7585. <param name="interceptor">The <see cref="T:LinFu.AOP.Interfaces.IInterceptor" /> instance that will be used to intercept method calls made to the proxy.</param>
  7586. <param name="baseInterfaces">The additional list of interfaces that the proxy will implement.</param>
  7587. <returns>A valid proxy instance.</returns>
  7588. </member>
  7589. <member name="M:LinFu.Proxy.Interfaces.ProxyFactoryExtensions.CreateProxy``1(LinFu.Proxy.Interfaces.IProxyFactory,System.Func{System.String,System.Type[],System.Object[],System.Object},System.Type[])">
  7590. <summary>
  7591. Uses the <paramref name="proxyFactory" /> to create a proxy instance
  7592. that directly derives from the <typeparamref name="T" /> type
  7593. and implements the given <paramref name="baseInterfaces" />.
  7594. </summary>
  7595. <remarks>
  7596. The <paramref name="proxyImplementation" /> will be used to intercept method calls
  7597. performed against the target instance.
  7598. </remarks>
  7599. <typeparam name="T">The type that will be intercepted by the proxy.</typeparam>
  7600. <param name="proxyFactory">The IProxyFactory instance that will be used to generate the proxy type.</param>
  7601. <param name="proxyImplementation">The functor that will invoked every time a method is called on the proxy.</param>
  7602. <param name="baseInterfaces">The additional list of interfaces that the proxy will implement.</param>
  7603. <returns>A valid proxy instance.</returns>
  7604. </member>
  7605. <member name="M:LinFu.Proxy.Interfaces.ProxyFactoryExtensions.CreateProxy(LinFu.Proxy.Interfaces.IProxyFactory,System.Type,System.Func{System.String,System.Type[],System.Object[],System.Object},System.Type[])">
  7606. <summary>
  7607. Uses the <paramref name="proxyFactory" /> to create a proxy instance
  7608. that directly derives from the <typeparamref name="T" /> type
  7609. and implements the given <paramref name="baseInterfaces" />.
  7610. </summary>
  7611. <remarks>
  7612. The <paramref name="proxyImplementation" /> will be used to intercept method calls
  7613. performed against the target instance.
  7614. </remarks>
  7615. <param name="targetType">The type that will be intercepted by the proxy.</param>
  7616. <param name="proxyFactory">The IProxyFactory instance that will be used to generate the proxy type.</param>
  7617. <param name="proxyImplementation">The functor that will invoked every time a method is called on the proxy.</param>
  7618. <param name="baseInterfaces">The additional list of interfaces that the proxy will implement.</param>
  7619. <returns>A valid proxy instance.</returns>
  7620. </member>
  7621. <member name="T:LinFu.Reflection.ITypeExtractor`2">
  7622. <summary>
  7623. Represents a type that can extract <see cref="T:System.Type" />
  7624. objects from an <see cref="T:System.Reflection.Assembly" /> instance.
  7625. </summary>
  7626. </member>
  7627. <member name="M:LinFu.Reflection.ITypeExtractor`2.GetTypes(`0)">
  7628. <summary>
  7629. Returns a set of types from a given assembly.
  7630. </summary>
  7631. <param name="targetAssembly">The <see cref="T:System.Reflection.Assembly" /> that contains the target types.</param>
  7632. <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1" /> of types from the target assembly.</returns>
  7633. </member>
  7634. <member name="T:LinFu.Reflection.ITypeExtractor">
  7635. <summary>
  7636. Represents a type that can extract <see cref="T:System.Type" />
  7637. objects from an <see cref="T:System.Reflection.Assembly" /> instance.
  7638. </summary>
  7639. </member>
  7640. <member name="T:LinFu.Reflection.IInitialize`1">
  7641. <summary>
  7642. Represents classes that need to be initialized
  7643. every time a particular
  7644. instance creates that type.
  7645. </summary>
  7646. </member>
  7647. <member name="M:LinFu.Reflection.IInitialize`1.Initialize(`0)">
  7648. <summary>
  7649. Initializes the target with the
  7650. particular <typeparamref name="T" /> instance.
  7651. </summary>
  7652. <param name="source">The <typeparamref name="T" /> instance that will hold the target type.</param>
  7653. </member>
  7654. <member name="T:LinFu.Reflection.IActionLoader`2">
  7655. <summary>
  7656. Represents a class that can configure
  7657. a target of type <typeparamref name="TTarget" />
  7658. using an input type of <typeparamref name="TInput" />.
  7659. </summary>
  7660. <typeparam name="TTarget">The target type to configure.</typeparam>
  7661. <typeparam name="TInput">The input that will be used to configure the target.</typeparam>
  7662. </member>
  7663. <member name="M:LinFu.Reflection.IActionLoader`2.Load(`1)">
  7664. <summary>
  7665. Generates a set of <see cref="T:System.Action`1" /> instances
  7666. using the given <paramref name="input" />.
  7667. </summary>
  7668. <param name="input">The input that will be used to configure the target.</param>
  7669. <returns>A set of <see cref="T:System.Action`1" /> instances. This cannot be <c>null</c>.</returns>
  7670. </member>
  7671. <member name="M:LinFu.Reflection.IActionLoader`2.CanLoad(`1)">
  7672. <summary>
  7673. Determines if the PluginLoader can load the <paramref name="inputType" />.
  7674. </summary>
  7675. <param name="inputType">The target type that might contain the target <typeparamref name="TAttribute" /> instance.</param>
  7676. <returns>
  7677. <c>true</c> if the type can be loaded; otherwise, it returns <c>false</c>.</returns>
  7678. </member>
  7679. <member name="T:LinFu.Reflection.ILoaderPlugin`1">
  7680. <summary>
  7681. Represents a component that can monitor
  7682. a target instance as it loads.
  7683. </summary>
  7684. <typeparam name="TTarget">The target instance type.</typeparam>
  7685. </member>
  7686. <member name="M:LinFu.Reflection.ILoaderPlugin`1.BeginLoad(`0)">
  7687. <summary>
  7688. Signals the beginning of a load.
  7689. </summary>
  7690. <param name="target">The target being loaded.</param>
  7691. </member>
  7692. <member name="M:LinFu.Reflection.ILoaderPlugin`1.EndLoad(`0)">
  7693. <summary>
  7694. Signals the end of a load.
  7695. </summary>
  7696. <param name="target">The target being loaded.</param>
  7697. </member>
  7698. <member name="T:LinFu.Reflection.Plugins.BaseLoaderPlugin`1">
  7699. <summary>
  7700. A class that implements the basic functionality of
  7701. a loader plugin.
  7702. </summary>
  7703. <typeparam name="TTarget">The type being loaded.</typeparam>
  7704. </member>
  7705. <member name="M:LinFu.Reflection.Plugins.BaseLoaderPlugin`1.BeginLoad(`0)">
  7706. <summary>
  7707. Signals the beginning of a load.
  7708. </summary>
  7709. <param name="target">The target being loaded.</param>
  7710. </member>
  7711. <member name="M:LinFu.Reflection.Plugins.BaseLoaderPlugin`1.EndLoad(`0)">
  7712. <summary>
  7713. Signals the end of a load.
  7714. </summary>
  7715. <param name="target">The target being loaded.</param>
  7716. </member>
  7717. <member name="T:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`3">
  7718. <summary>
  7719. A plugin class that provides the basic implementation
  7720. for plugins that work with <see cref="T:LinFu.Reflection.IAssemblyTargetLoader`1" /> instances.
  7721. </summary>
  7722. <typeparam name="TTarget">The target type being configured.</typeparam>
  7723. <typeparam name="TAssembly">The assembly type.</typeparam>
  7724. <typeparam name="TType">The input type.</typeparam>
  7725. </member>
  7726. <member name="M:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`3.#ctor(LinFu.Reflection.ITypeExtractor{`1,`2},LinFu.Reflection.IAssemblyTargetLoader{`0,`1,`2})">
  7727. <summary>
  7728. Initializes a new instance of the <see cref="T:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`3" /> class.
  7729. </summary>
  7730. <param name="typeExtractor">The type extractor that will pull the types out of the current assembly.</param>
  7731. <param name="assemblyLoader">The assembly loader that will load the current assembly into memory.</param>
  7732. </member>
  7733. <member name="M:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`3.Initialize(LinFu.Reflection.ILoader{`0})">
  7734. <summary>
  7735. Searches the loader for an <see cref="T:LinFu.Reflection.IAssemblyTargetLoader`1" />
  7736. instance and uses its derived classes to initialize
  7737. the assembly target loader.
  7738. </summary>
  7739. <param name="source">The <see cref="T:LinFu.Reflection.ILoader`1" /> instance that will hold the plugin.</param>
  7740. </member>
  7741. <member name="M:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`3.Initialize(LinFu.Reflection.ILoader{`0},LinFu.Reflection.IAssemblyTargetLoader{`0,`1,`2})">
  7742. <summary>
  7743. Initializes the <paramref name="loader" /> instance
  7744. with the given <paramref name="assemblyLoader" /> instance.
  7745. </summary>
  7746. <param name="loader">The loader being configured.</param>
  7747. <param name="assemblyLoader">The assembly loader that will load the types into the loader itself.</param>
  7748. </member>
  7749. <member name="T:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`1">
  7750. <summary>
  7751. A plugin class that provides the basic implementation
  7752. for plugins that work with <see cref="T:LinFu.Reflection.IAssemblyTargetLoader`1" /> instances.
  7753. </summary>
  7754. </member>
  7755. <member name="M:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`1.#ctor">
  7756. <summary>
  7757. Initializes a new instance of the <see cref="T:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`3" /> class.
  7758. </summary>
  7759. </member>
  7760. <member name="M:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`1.#ctor(LinFu.Reflection.ITypeExtractor{System.Reflection.Assembly,System.Type})">
  7761. <summary>
  7762. Initializes a new instance of the <see cref="T:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`3" /> class.
  7763. </summary>
  7764. <param name="typeExtractor">The type extractor that will pull the types out of the current assembly.</param>
  7765. </member>
  7766. <member name="T:LinFu.Reflection.ILoader`1">
  7767. <summary>
  7768. Represents a generic interface for an abstract loader
  7769. that can read configuration information from disk
  7770. and apply it to a <typeparamref name="TTarget" /> instance.
  7771. </summary>
  7772. <typeparam name="TTarget">The class type being configured.</typeparam>
  7773. </member>
  7774. <member name="M:LinFu.Reflection.ILoader`1.LoadDirectory(System.String,System.String)">
  7775. <summary>
  7776. Loads the configuration using the files listed in
  7777. the target <paramref name="directory" /> that match
  7778. the given <paramref name="filespec">file pattern</paramref>.
  7779. </summary>
  7780. <param name="directory">The full path of the location to scan.</param>
  7781. <param name="filespec">The wildcard file pattern string to use when specifying the target files.</param>
  7782. </member>
  7783. <member name="M:LinFu.Reflection.ILoader`1.LoadInto(`0)">
  7784. <summary>
  7785. Configures the <paramref name="target" /> instance
  7786. using the configuration currently loaded from disk.
  7787. </summary>
  7788. <param name="target">The <typeparamref name="TTarget" /> instance to be configured.</param>
  7789. </member>
  7790. <member name="M:LinFu.Reflection.ILoader`1.Reset">
  7791. <summary>
  7792. Clears the currently loaded configuration
  7793. and resets the loader back to its defaults.
  7794. </summary>
  7795. </member>
  7796. <member name="P:LinFu.Reflection.ILoader`1.Plugins">
  7797. <summary>
  7798. The list of <see cref="T:LinFu.Reflection.ILoaderPlugin`1" />
  7799. instances that will be used to
  7800. signal the beginning and end of the
  7801. load sequence.
  7802. </summary>
  7803. </member>
  7804. <member name="P:LinFu.Reflection.ILoader`1.FileLoaders">
  7805. <summary>
  7806. The list of <see cref="T:LinFu.Reflection.IActionLoader`2" />
  7807. instances responsible for configuring the <typeparamref name="TTarget" /> instance.
  7808. </summary>
  7809. </member>
  7810. <member name="P:LinFu.Reflection.ILoader`1.DirectoryLister">
  7811. <summary>
  7812. Gets or sets the <see cref="T:LinFu.Reflection.IDirectoryListing" /> instance
  7813. responsible for returning a list of filenames
  7814. to the loader for processing.
  7815. </summary>
  7816. </member>
  7817. <member name="P:LinFu.Reflection.ILoader`1.CustomLoaderActions">
  7818. <summary>
  7819. The custom list of actions that will be
  7820. performed prior to the beginning of a load operation.
  7821. </summary>
  7822. </member>
  7823. <member name="P:LinFu.Reflection.ILoader`1.QueuedActions">
  7824. <summary>
  7825. The list of actions that will execute
  7826. every time a target instance is configured.
  7827. </summary>
  7828. </member>
  7829. <member name="T:LinFu.Reflection.Loader`3">
  7830. <summary>
  7831. Represents a generic loader class that can
  7832. load multiple <see cref="T:System.Action`1" /> delegates from multiple files and
  7833. apply them to a particular <typeparamref name="TTarget" /> instance.
  7834. </summary>
  7835. <typeparam name="TTarget">The target type to configure.</typeparam>
  7836. <typeparam name="TAssembly">The assembly type.</typeparam>
  7837. <typeparam name="TType">The target type.</typeparam>
  7838. </member>
  7839. <member name="M:LinFu.Reflection.Loader`3.#ctor(LinFu.Reflection.ITypeExtractor{`1,`2},LinFu.Reflection.IAssemblyLoader{`1})">
  7840. <summary>
  7841. Initializes the target with the default settings.
  7842. </summary>
  7843. </member>
  7844. <member name="M:LinFu.Reflection.Loader`3.#ctor(LinFu.Reflection.ITypeExtractor{`1,`2},LinFu.Reflection.IAssemblyLoader{`1},LinFu.Reflection.IActionLoader{LinFu.Reflection.ILoader{`0},`2})">
  7845. <summary>
  7846. Initializes the target with the default settings.
  7847. </summary>
  7848. </member>
  7849. <member name="M:LinFu.Reflection.Loader`3.LoadDirectory(System.String,System.String)">
  7850. <summary>
  7851. Loads the container with the files listed in
  7852. the target <paramref name="directory" /> that match
  7853. the given <paramref name="filespec">file pattern</paramref>.
  7854. </summary>
  7855. <param name="directory">The full path of the location to scan.</param>
  7856. <param name="filespec">The wildcard file pattern string to use when specifying the target files.</param>
  7857. </member>
  7858. <member name="M:LinFu.Reflection.Loader`3.LoadInto(`0)">
  7859. <summary>
  7860. Loads the current configuration into the <paramref name="target" />
  7861. instance.
  7862. </summary>
  7863. <param name="target">
  7864. </param>
  7865. </member>
  7866. <member name="M:LinFu.Reflection.Loader`3.Reset">
  7867. <summary>
  7868. Clears the currently loaded configuration
  7869. and resets the loader back to its defaults.
  7870. </summary>
  7871. </member>
  7872. <member name="M:LinFu.Reflection.Loader`3.AutoLoadFrom(System.String,System.String,`0)">
  7873. <summary>
  7874. Monitors the given <paramref name="directory" /> for any file changes and
  7875. updates the current loader whenever the files that match the given <paramref name="fileSpec" />
  7876. are loaded into memory
  7877. </summary>
  7878. <param name="directory">The full path of the location to scan.</param>
  7879. <param name="fileSpec">The wildcard file pattern string to use when specifying the target files.</param>
  7880. <param name="target">The target that will be loaded using the current loader.</param>
  7881. </member>
  7882. <member name="M:LinFu.Reflection.Loader`3.ShouldLoad(LinFu.Reflection.ILoaderPlugin{`0})">
  7883. <summary>
  7884. Determines whether or not a specific plugin should be loaded.
  7885. </summary>
  7886. <param name="plugin">The target plugin to be loaded.</param>
  7887. <returns>
  7888. <c>true</c> if the plugin should be loaded; otherwise, it will return <c>false</c>.</returns>
  7889. </member>
  7890. <member name="M:LinFu.Reflection.Loader`3.LoadFile(System.String)">
  7891. <summary>
  7892. Loads the <paramref name="currentFile">current file</paramref>
  7893. using the list of associated <see cref="P:LinFu.Reflection.Loader`3.FileLoaders" />.
  7894. </summary>
  7895. <param name="currentFile">The full path and filename being loaded.</param>
  7896. </member>
  7897. <member name="P:LinFu.Reflection.Loader`3.QueuedActions">
  7898. <summary>
  7899. The list of actions that will execute
  7900. every time a target instance is configured.
  7901. </summary>
  7902. </member>
  7903. <member name="P:LinFu.Reflection.Loader`3.CustomLoaderActions">
  7904. <summary>
  7905. The custom list of actions that will be
  7906. performed prior to the beginning of the first load operation.
  7907. </summary>
  7908. <remarks>
  7909. These actions will be performed only once per reset.
  7910. </remarks>
  7911. </member>
  7912. <member name="P:LinFu.Reflection.Loader`3.Plugins">
  7913. <summary>
  7914. The list of <see cref="T:LinFu.Reflection.ILoaderPlugin`1" />
  7915. instances that will be used to
  7916. signal the beginning and end of the
  7917. load sequence.
  7918. </summary>
  7919. </member>
  7920. <member name="P:LinFu.Reflection.Loader`3.FileLoaders">
  7921. <summary>
  7922. The list of <see cref="T:LinFu.Reflection.IActionLoader`2" />
  7923. instances responsible for configuring the target instance.
  7924. </summary>
  7925. </member>
  7926. <member name="P:LinFu.Reflection.Loader`3.DirectoryLister">
  7927. <summary>
  7928. Gets or sets the <see cref="T:LinFu.Reflection.IDirectoryListing" /> instance
  7929. responsible for returning a list of filenames
  7930. to the loader for processing.
  7931. </summary>
  7932. </member>
  7933. <member name="T:LinFu.Reflection.Loader`1">
  7934. <summary>
  7935. Represents a generic loader class that can
  7936. load multiple <see cref="T:System.Action`1" /> delegates from multiple files and
  7937. apply them to a particular <typeparamref name="TTarget" /> instance.
  7938. </summary>
  7939. <typeparam name="TTarget">
  7940. </typeparam>
  7941. </member>
  7942. <member name="M:LinFu.Reflection.Loader`1.#ctor">
  7943. <summary>
  7944. Initializes the target with the default settings.
  7945. </summary>
  7946. </member>
  7947. <member name="T:LinFu.Reflection.Runtime">
  7948. <summary>
  7949. Adds helper methods that return information about the current
  7950. runtime.
  7951. </summary>
  7952. </member>
  7953. <member name="P:LinFu.Reflection.Runtime.IsRunningOnMono">
  7954. <summary>
  7955. Gets a value indicating if the application is
  7956. currently running on the Mono platform.
  7957. </summary>
  7958. </member>
  7959. <member name="T:LinFu.Reflection.BasePluginLoader`2">
  7960. <summary>
  7961. Implements the basic functionality of a plugin loader.
  7962. </summary>
  7963. <typeparam name="TTarget">The target type being configured.</typeparam>
  7964. <typeparam name="TAttribute">The attribute type that will be used to mark a type as a plugin.</typeparam>
  7965. </member>
  7966. <member name="M:LinFu.Reflection.BasePluginLoader`2.CanLoad(System.Type)">
  7967. <summary>
  7968. Determines if the plugin loader can load the <paramref name="inputType" />.
  7969. </summary>
  7970. <param name="inputType">The target type that might contain the target <typeparamref name="TAttribute" /> instance.</param>
  7971. <returns>
  7972. <c>true</c> if the type can be loaded; otherwise, it returns <c>false</c>.</returns>
  7973. </member>
  7974. <member name="M:LinFu.Reflection.BasePluginLoader`2.Load(System.Type)">
  7975. <summary>
  7976. Generates a set of <see cref="T:System.Action`1" /> instances
  7977. using the given <paramref name="input" />.
  7978. </summary>
  7979. <param name="input">The input that will be used to configure the target.</param>
  7980. <returns>A set of <see cref="T:System.Action`1" /> instances. This cannot be <c>null</c>.</returns>
  7981. </member>
  7982. <member name="T:LinFu.Reflection.CollectionLoader`1">
  7983. <summary>
  7984. Represents an action loader that can load collections from types embedded within a given assembly.
  7985. </summary>
  7986. <typeparam name="T">The collection item type.</typeparam>
  7987. </member>
  7988. <member name="M:LinFu.Reflection.CollectionLoader`1.Load(System.Type)">
  7989. <summary>
  7990. Creates the list of actions that load the target collection into memory.
  7991. </summary>
  7992. <param name="input">The source type.</param>
  7993. <returns>A list of actions that load the target collection into memory.</returns>
  7994. </member>
  7995. <member name="M:LinFu.Reflection.CollectionLoader`1.CanLoad(System.Type)">
  7996. <summary>
  7997. Determines whether or not the given type can be loaded into memory.
  7998. </summary>
  7999. <param name="inputType">The source type.</param>
  8000. <returns>Returns <c>true</c> if the type can be loaded into memory; otherwise, it will return <c>false</c>.</returns>
  8001. </member>
  8002. <member name="T:LinFu.Reflection.IAssemblyTargetLoader`3">
  8003. <summary>
  8004. Represents a specific <see cref="T:LinFu.Reflection.IActionLoader`2" />
  8005. type that can load configuration information from an assembly
  8006. and apply it to a <typeparamref name="TTarget" /> instance.
  8007. </summary>
  8008. <typeparam name="TTarget">The target type to configure.</typeparam>
  8009. <typeparam name="TAssembly">The assembly type.</typeparam>
  8010. <typeparam name="TType">The input type.</typeparam>
  8011. </member>
  8012. <member name="P:LinFu.Reflection.IAssemblyTargetLoader`3.AssemblyLoader">
  8013. <summary>
  8014. The <see cref="T:LinFu.Reflection.IAssemblyLoader" /> instance that will load
  8015. the target assemblies.
  8016. </summary>
  8017. </member>
  8018. <member name="P:LinFu.Reflection.IAssemblyTargetLoader`3.TypeLoaders">
  8019. <summary>
  8020. The list of ActionLoaders that will be used to
  8021. configure the target.
  8022. </summary>
  8023. </member>
  8024. <member name="T:LinFu.Reflection.AssemblyTargetLoader`3">
  8025. <summary>
  8026. Represents a loader class that takes <see cref="T:System.Type" />
  8027. instances as input and generates <see cref="T:System.Action`1" />
  8028. instances that can be used to configure a <typeparamref name="TTarget" />
  8029. instance.
  8030. </summary>
  8031. <typeparam name="TTarget">The target type to configure.</typeparam>
  8032. <typeparam name="TAssembly">The assembly type.</typeparam>
  8033. <typeparam name="TType">The target type.</typeparam>
  8034. </member>
  8035. <member name="M:LinFu.Reflection.AssemblyTargetLoader`3.#ctor(LinFu.Reflection.ITypeExtractor{`1,`2},LinFu.Reflection.IAssemblyLoader{`1})">
  8036. <summary>
  8037. Initializes a new instance of the <see cref="T:LinFu.Reflection.AssemblyTargetLoader`3" /> class.
  8038. </summary>
  8039. </member>
  8040. <member name="M:LinFu.Reflection.AssemblyTargetLoader`3.CanLoad(System.String)">
  8041. <summary>
  8042. Determines whether or not the current type loader
  8043. instance can load the current file type.
  8044. </summary>
  8045. <remarks>
  8046. This class only loads assemblies with the ".dll" extension.
  8047. </remarks>
  8048. <param name="filename">The filename and full path of the target file.</param>
  8049. <returns>Returns <c>true</c> if the file can be loaded; otherwise, the result is <c>false</c>.</returns>
  8050. </member>
  8051. <member name="M:LinFu.Reflection.AssemblyTargetLoader`3.Load(System.String)">
  8052. <summary>
  8053. Reads an input file using the given <paramref name="filename" />
  8054. and converts it into a set of <see cref="T:System.Action`1" />
  8055. instances that can be applied to a target class instance..
  8056. </summary>
  8057. <remarks>This class can only load valid .NET Assemblies.</remarks>
  8058. <param name="filename">The target file to be loaded.</param>
  8059. <returns>A set of <see cref="T:System.Action`1" /> instances to apply to a target type.</returns>
  8060. </member>
  8061. <member name="P:LinFu.Reflection.AssemblyTargetLoader`3.AssemblyActionLoader">
  8062. <summary>
  8063. Gets or sets the value indicating the action loader
  8064. responsible for reading an assembly and converts it to
  8065. a list of actions to be performed against the target type.
  8066. </summary>
  8067. </member>
  8068. <member name="P:LinFu.Reflection.AssemblyTargetLoader`3.AssemblyLoader">
  8069. <summary>
  8070. The <see cref="T:LinFu.Reflection.IAssemblyLoader" /> instance that will load
  8071. the target assemblies.
  8072. </summary>
  8073. </member>
  8074. <member name="P:LinFu.Reflection.AssemblyTargetLoader`3.TypeLoaders">
  8075. <summary>
  8076. The list of ActionLoaders that will be used to
  8077. configure the target.
  8078. </summary>
  8079. </member>
  8080. <member name="T:LinFu.Reflection.AssemblyTargetLoader`1">
  8081. <summary>
  8082. Represents a loader class that takes <see cref="T:System.Type" />
  8083. instances as input and generates <see cref="T:System.Action`1" />
  8084. instances that can be used to configure a <typeparamref name="TTarget" />
  8085. instance.
  8086. </summary>
  8087. <typeparam name="TTarget">The target type to configure.</typeparam>
  8088. </member>
  8089. <member name="M:LinFu.Reflection.AssemblyTargetLoader`1.#ctor">
  8090. <summary>
  8091. Initializes the class with the default property values.
  8092. </summary>
  8093. </member>
  8094. <member name="T:LinFu.Reflection.AssemblyActionLoader`3">
  8095. <summary>
  8096. A class that reads an assembly and converts it into a set of actions
  8097. that can be used to build the list of actions against the <typeparamref name="TTarget" />
  8098. type.
  8099. </summary>
  8100. <typeparam name="TTarget">The target type.</typeparam>
  8101. <typeparam name="TAssembly">The assembly type.</typeparam>
  8102. <typeparam name="TType">The target input type.</typeparam>
  8103. </member>
  8104. <member name="M:LinFu.Reflection.AssemblyActionLoader`3.#ctor(System.Func{System.Collections.Generic.IList{LinFu.Reflection.IActionLoader{`0,`2}}},LinFu.Reflection.ITypeExtractor{`1,`2})">
  8105. <summary>
  8106. Initializes the class with a set of <see cref="T:LinFu.Reflection.IActionLoader`2" />
  8107. instances that will be used to load the target assembly.
  8108. </summary>
  8109. <param name="getTypeLoaders">The delegate that will return the actual list of typeloaders.</param>
  8110. <param name="typeExtractor">The type extractor that will be responsible for pulling the types out of the current assembly.</param>
  8111. </member>
  8112. <member name="M:LinFu.Reflection.AssemblyActionLoader`3.Load(`1)">
  8113. <summary>
  8114. Loads the target assembly and creates an action that can
  8115. create the list of actions which will modify the <typeparamref name="TTarget" /> instance.
  8116. </summary>
  8117. <param name="input">The target assembly.</param>
  8118. <returns>The list of actions which will modify the list of actions that will be executed against the <typeparamref name="TTarget" /> instance.</returns>
  8119. </member>
  8120. <member name="M:LinFu.Reflection.AssemblyActionLoader`3.CanLoad(`1)">
  8121. <summary>
  8122. Determines if an assembly can be loaded.
  8123. </summary>
  8124. <param name="assembly">The target assembly.</param>
  8125. <returns>Returns <c>true</c> if the assembly is not <c>null</c>.</returns>
  8126. </member>
  8127. <member name="M:LinFu.Reflection.AssemblyActionLoader`3.CreateActionsFrom(`1,System.Collections.Generic.ICollection{System.Action{`0}})">
  8128. <summary>
  8129. Generates a list of actions from a target assemby.
  8130. </summary>
  8131. <param name="assembly">The target assembly.</param>
  8132. <param name="resultList">The list that will store the resulting actions.</param>
  8133. </member>
  8134. <member name="M:LinFu.Reflection.AssemblyActionLoader`3.LoadResultsFromType(`2,System.Collections.Generic.ICollection{System.Action{`0}})">
  8135. <summary>
  8136. Generates the list of <see cref="T:System.Action`1" />
  8137. instances which will be used to configure a target instance.
  8138. </summary>
  8139. <param name="type">The <see cref="T:System.Type" /> instance that holds the configuration information.</param>
  8140. <param name="results">The list that will hold the actions which will configure the container.</param>
  8141. </member>
  8142. <member name="P:LinFu.Reflection.AssemblyActionLoader`3.TypeExtractor">
  8143. <summary>
  8144. The <see cref="T:LinFu.Reflection.ITypeExtractor" /> instance that will
  8145. determine which types will be extracted from an assembly.
  8146. </summary>
  8147. </member>
  8148. <member name="T:LinFu.Reflection.AssemblyActionLoader`1">
  8149. <summary>
  8150. A class that reads an assembly and converts it into a set of actions
  8151. that can be used to build the list of actions against the <typeparamref name="TTarget" />
  8152. type.
  8153. </summary>
  8154. <typeparam name="TTarget">The target type.</typeparam>
  8155. </member>
  8156. <member name="M:LinFu.Reflection.AssemblyActionLoader`1.#ctor(System.Func{System.Collections.Generic.IList{LinFu.Reflection.IActionLoader{`0,System.Type}}})">
  8157. <summary>
  8158. Initializes the class with a set of <see cref="T:LinFu.Reflection.IActionLoader`2" />
  8159. instances that will be used to load the target assembly.
  8160. </summary>
  8161. <param name="getTypeLoaders">The delegate that will return the actual list of typeloaders.</param>
  8162. </member>
  8163. <member name="T:LinFu.Reflection.LoaderPluginAttribute">
  8164. <summary>
  8165. Marks a class as a loader plugin type.
  8166. </summary>
  8167. </member>
  8168. <member name="T:LinFu.Reflection.TypeExtractor">
  8169. <summary>
  8170. Represents a type that can extract <see cref="T:System.Type" />
  8171. objects from an <see cref="T:System.Reflection.Assembly" /> instance.
  8172. </summary>
  8173. </member>
  8174. <member name="M:LinFu.Reflection.TypeExtractor.GetTypes(System.Reflection.Assembly)">
  8175. <summary>
  8176. Returns a set of types from a given assembly.
  8177. </summary>
  8178. <param name="targetAssembly">The <see cref="T:System.Reflection.Assembly" /> that contains the target types.</param>
  8179. <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1" /> of types from the target assembly.</returns>
  8180. </member>
  8181. <member name="T:LinFu.Reflection.IDirectoryListing">
  8182. <summary>
  8183. Represents a class that can list the files
  8184. in a given directory.
  8185. </summary>
  8186. </member>
  8187. <member name="M:LinFu.Reflection.IDirectoryListing.GetFiles(System.String,System.String)">
  8188. <summary>
  8189. Returns the names of the files in the specified directory
  8190. that match the specified search pattern.
  8191. </summary>
  8192. <param name="path">The directory to search.</param>
  8193. <param name="searchPattern">The search string to match against the names of the files in the <paramref name="path" />.</param>
  8194. <returns>The list of files that match the <paramref name="path" /> and <paramref name="searchPattern" /></returns>
  8195. </member>
  8196. <member name="T:LinFu.Reflection.DefaultDirectoryLister">
  8197. <summary>
  8198. A class that lists the contents of a given directory.
  8199. </summary>
  8200. </member>
  8201. <member name="M:LinFu.Reflection.DefaultDirectoryLister.GetFiles(System.String,System.String)">
  8202. <summary>
  8203. Returns a list of files that match the <paramref name="searchPattern" />
  8204. from the given directory <paramref name="path" />.
  8205. </summary>
  8206. <param name="path">The target directory to search.</param>
  8207. <param name="searchPattern">The search string to match against the names of the files in the <paramref name="path" />.</param>
  8208. <returns>The list of files that match the <paramref name="path" /> and <paramref name="searchPattern" /></returns>
  8209. </member>
  8210. <member name="T:LinFu.Reflection.IAssemblyTargetLoader`1">
  8211. <summary>
  8212. Represents a specific <see cref="T:LinFu.Reflection.IActionLoader`2" />
  8213. type that can load configuration information from an assembly
  8214. and apply it to a <typeparamref name="TTarget" /> instance.
  8215. </summary>
  8216. <typeparam name="TTarget">The target type to configure.</typeparam>
  8217. </member>
  8218. <member name="P:LinFu.Reflection.IAssemblyTargetLoader`1.AssemblyLoader">
  8219. <summary>
  8220. The <see cref="T:LinFu.Reflection.IAssemblyLoader" /> instance that will load
  8221. the target assemblies.
  8222. </summary>
  8223. </member>
  8224. <member name="P:LinFu.Reflection.IAssemblyTargetLoader`1.TypeLoaders">
  8225. <summary>
  8226. The list of ActionLoaders that will be used to
  8227. configure the target.
  8228. </summary>
  8229. </member>
  8230. <member name="T:LinFu.Reflection.IAssemblyLoader`1">
  8231. <summary>
  8232. Represents a class that loads assemblies into memory
  8233. from disk.
  8234. </summary>
  8235. <typeparam name="TAssembly">
  8236. </typeparam>
  8237. </member>
  8238. <member name="M:LinFu.Reflection.IAssemblyLoader`1.Load(System.String)">
  8239. <summary>
  8240. Loads the target assembly into memory.
  8241. </summary>
  8242. <param name="assemblyFile">The full path and filename of the assembly to load.</param>
  8243. <returns>A loaded <see cref="T:System.Reflection.Assembly" /> instance.</returns>
  8244. </member>
  8245. <member name="T:LinFu.Reflection.IAssemblyLoader">
  8246. <summary>
  8247. Represents a class that loads assemblies into memory
  8248. from disk.
  8249. </summary>
  8250. </member>
  8251. <member name="T:LinFu.Reflection.AssemblyLoader">
  8252. <summary>
  8253. Represents a class that loads assemblies into memory
  8254. from disk.
  8255. </summary>
  8256. </member>
  8257. <member name="M:LinFu.Reflection.AssemblyLoader.Load(System.String)">
  8258. <summary>
  8259. Loads the target assembly into memory.
  8260. </summary>
  8261. <param name="assemblyFile">The full path and filename of the assembly to load.</param>
  8262. <returns>A loaded <see cref="T:System.Reflection.Assembly" /> instance.</returns>
  8263. </member>
  8264. <member name="T:LinFu.Reflection.PluginLoader`2">
  8265. <summary>
  8266. Represents a loader class that can load
  8267. <see cref="T:LinFu.Reflection.ILoaderPlugin`1" /> instances
  8268. marked with a particular <typeparamref name="TAttribute" />
  8269. type.
  8270. </summary>
  8271. <typeparam name="TTarget">The target type being configured.</typeparam>
  8272. <typeparam name="TAttribute">The attribute type that marks a type as a plugin type.</typeparam>
  8273. </member>
  8274. <member name="M:LinFu.Reflection.PluginLoader`2.CanLoad(System.Type)">
  8275. <summary>
  8276. Determines if the plugin loader can load the <paramref name="inputType" />.
  8277. </summary>
  8278. <remarks>The target type must implement <see cref="T:LinFu.Reflection.ILoaderPlugin`1" /> before it can be loaded.</remarks>
  8279. <param name="inputType">The target type that might contain the target <typeparamref name="TAttribute" /> instance.</param>
  8280. <returns>
  8281. <c>true</c> if the type can be loaded; otherwise, it returns <c>false</c>.</returns>
  8282. </member>
  8283. <member name="M:LinFu.Reflection.PluginLoader`2.Load(System.Type)">
  8284. <summary>
  8285. Loads a set of actions from a <see cref="T:System.Type" />
  8286. instance.
  8287. </summary>
  8288. <param name="input">The target type to scan.</param>
  8289. <returns>A set of actions which will be applied to the target <see cref="T:LinFu.Reflection.ILoader`1" /> instance.</returns>
  8290. </member>
  8291. <member name="T:LinFu.Reflection.CollectionExtensions">
  8292. <summary>
  8293. Adds additional support methods to the standard System.Collection classes.
  8294. </summary>
  8295. </member>
  8296. <member name="M:LinFu.Reflection.CollectionExtensions.HasElementWith``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Boolean})">
  8297. <summary>
  8298. Determines whether or not an element exists that matches the given
  8299. <paramref name="predicate" />.
  8300. </summary>
  8301. <typeparam name="T">The element type.</typeparam>
  8302. <param name="items">The list of items being searched.</param>
  8303. <param name="predicate">The predicate that will be used to describe the matching items.</param>
  8304. <returns>Returns <c>true</c> if at least one match is found; otherwise, it will return <c>false</c>.</returns>
  8305. </member>
  8306. <member name="M:LinFu.Reflection.CollectionExtensions.LoadFrom``1(System.Collections.Generic.ICollection{``0},System.String,System.String)">
  8307. <summary>
  8308. Loads a list of types that match the given <typeparamref name="T">target type</typeparamref>.
  8309. </summary>
  8310. <typeparam name="T">The target type to be loaded.</typeparam>
  8311. <param name="list">The list that will hold the instances of the target type.</param>
  8312. <param name="targetDirectory">The directory that will be used to scan for assemblies that contain the target type.</param>
  8313. <param name="filespec">The wildcard pattern that describes the files to be loaded.</param>
  8314. </member>
  8315. <member name="T:LinFu.Reflection.Emit.AssemblyDefinitionExtensions">
  8316. <summary>
  8317. A class that adds extension methods to the <see cref="T:Mono.Cecil.AssemblyDefinition" />
  8318. class.
  8319. </summary>
  8320. </member>
  8321. <member name="M:LinFu.Reflection.Emit.AssemblyDefinitionExtensions.ToAssembly(Mono.Cecil.AssemblyDefinition)">
  8322. <summary>
  8323. Converts an <see cref="T:Mono.Cecil.AssemblyDefinition" />
  8324. into a running <see cref="T:System.Reflection.Assembly" />.
  8325. </summary>
  8326. <param name="definition">The <see cref="T:Mono.Cecil.AssemblyDefinition" /> to convert.</param>
  8327. <returns>An <see cref="T:System.Reflection.Assembly" /> that represents the <see cref="T:Mono.Cecil.AssemblyDefinition" /> instance.
  8328. </returns>
  8329. </member>
  8330. <member name="M:LinFu.Reflection.Emit.AssemblyDefinitionExtensions.Save(Mono.Cecil.AssemblyDefinition,System.String)">
  8331. <summary>
  8332. Saves the assembly to disk.
  8333. </summary>
  8334. <param name="definition">The target assembly definition.</param>
  8335. <param name="filename">The output file name.</param>
  8336. </member>
  8337. <member name="M:LinFu.Reflection.Emit.AssemblyDefinitionExtensions.Save(Mono.Cecil.AssemblyDefinition,System.IO.Stream)">
  8338. <summary>
  8339. Saves the assembly to disk.
  8340. </summary>
  8341. <param name="definition">The target assembly definition.</param>
  8342. <param name="outputStream">The destination file stream.</param>
  8343. </member>
  8344. <member name="T:LinFu.Reflection.Emit.CilWorkerExtensions">
  8345. <summary>
  8346. A class that extends the <see cref="T:Mono.Cecil.Cil.CilWorker" /> class
  8347. with helper methods that make it easier to save
  8348. information about the method currently being implemented.
  8349. </summary>
  8350. </member>
  8351. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.EmitWriteLineIfNull(Mono.Cecil.Cil.CilWorker,System.String,Mono.Cecil.Cil.VariableDefinition)">
  8352. <summary>
  8353. Emits a Console.WriteLine call to using the current CilWorker that will only be called if the contents
  8354. of the target variable are null at runtime.
  8355. </summary>
  8356. <param name="IL">The target CilWorker.</param>
  8357. <param name="text">The text that will be written to the console.</param>
  8358. <param name="targetVariable">The target variable that will be checked for null at runtime.</param>
  8359. </member>
  8360. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.EmitWriteLine(Mono.Cecil.Cil.CilWorker,System.String)">
  8361. <summary>
  8362. Emits a Console.WriteLine call using the current CilWorker.
  8363. </summary>
  8364. <param name="IL">The target CilWorker.</param>
  8365. <param name="text">The text that will be written to the console.</param>
  8366. </member>
  8367. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.PushMethod(Mono.Cecil.Cil.CilWorker,Mono.Cecil.MethodReference,Mono.Cecil.ModuleDefinition)">
  8368. <summary>
  8369. Pushes the current <paramref name="method" /> onto the stack.
  8370. </summary>
  8371. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will be used to create the instructions.</param>
  8372. <param name="method">The method that represents the <see cref="T:System.Reflection.MethodInfo" /> that will be pushed onto the stack.</param>
  8373. <param name="module">The module that contains the host method.</param>
  8374. </member>
  8375. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.GetDeclaringType(Mono.Cecil.MethodReference)">
  8376. <summary>
  8377. Gets the declaring type for the target method.
  8378. </summary>
  8379. <param name="method">The target method.</param>
  8380. <returns>The declaring type.</returns>
  8381. </member>
  8382. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.PushType(Mono.Cecil.Cil.CilWorker,Mono.Cecil.TypeReference,Mono.Cecil.ModuleDefinition)">
  8383. <summary>
  8384. Pushes a <paramref name="Type" /> instance onto the stack.
  8385. </summary>
  8386. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will be used to create the instructions.</param>
  8387. <param name="type">The type that represents the <see cref="T:System.Type" /> that will be pushed onto the stack.</param>
  8388. <param name="module">The module that contains the host method.</param>
  8389. </member>
  8390. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.PushField(Mono.Cecil.Cil.CilWorker,Mono.Cecil.FieldReference,Mono.Cecil.ModuleDefinition)">
  8391. <summary>
  8392. Pushes the current <paramref name="field" /> onto the stack.
  8393. </summary>
  8394. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will be used to create the instructions.</param>
  8395. <param name="field">The field that represents the <see cref="T:System.Reflection.FieldInfo" /> that will be pushed onto the stack.</param>
  8396. <param name="module">The module that contains the target field.</param>
  8397. </member>
  8398. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.PushArguments(Mono.Cecil.Cil.CilWorker,Mono.Cecil.IMethodSignature,Mono.Cecil.ModuleDefinition,Mono.Cecil.Cil.VariableDefinition)">
  8399. <summary>
  8400. Pushes the arguments of a method onto the stack.
  8401. </summary>
  8402. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will be used to create the instructions.</param>
  8403. <param name="module">The module that contains the host method.</param>
  8404. <param name="method">The target method.</param>
  8405. <param name="arguments">The <see cref="T:Mono.Cecil.Cil.VariableDefinition">local variable</see> that will hold the array of arguments.</param>
  8406. </member>
  8407. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.PushStackTrace(Mono.Cecil.Cil.CilWorker,Mono.Cecil.ModuleDefinition)">
  8408. <summary>
  8409. Pushes the stack trace of the currently executing method onto the stack.
  8410. </summary>
  8411. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will be used to create the instructions.</param>
  8412. <param name="module">The module that contains the host method.</param>
  8413. </member>
  8414. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.PushGenericArguments(Mono.Cecil.Cil.CilWorker,Mono.Cecil.IGenericParameterProvider,Mono.Cecil.ModuleDefinition,Mono.Cecil.Cil.VariableDefinition)">
  8415. <summary>
  8416. Saves the generic type arguments that were used to construct the method.
  8417. </summary>
  8418. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will be used to create the instructions.</param>
  8419. <param name="method">The target method whose generic type arguments (if any) will be saved into the <paramref name="typeArguments">local variable</paramref>.</param>
  8420. <param name="module">The module that contains the host method.</param>
  8421. <param name="typeArguments">The local variable that will store the resulting array of <see cref="T:System.Type" /> objects.</param>
  8422. </member>
  8423. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.SaveParameterTypes(Mono.C