PageRenderTime 124ms CodeModel.GetById 28ms RepoModel.GetById 0ms app.codeStats 1ms

/examples/LinFu.AOP.Samples/SampleLibrary/bin/Release/LinFu.Core.xml

http://github.com/philiplaureano/LinFu
XML | 8436 lines | 8423 code | 13 blank | 0 comment | 0 complexity | c010fdd14e81b65c4554b4252ba6761f 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.Tasks.PostWeaveTask">
  2688. <summary>
  2689. Represents an MSBuild task for LinFu.AOP that allows users to inject an aspect framework into their applications
  2690. at postbuild time.
  2691. </summary>
  2692. </member>
  2693. <member name="M:LinFu.AOP.Tasks.PostWeaveTask.Execute">
  2694. <summary>
  2695. Executes the postweaver.
  2696. </summary>
  2697. <returns>Returns <c>true</c> if the operation succeeded. Otherwise, it will return <c>false</c>.</returns>
  2698. </member>
  2699. <member name="P:LinFu.AOP.Tasks.PostWeaveTask.TargetFile">
  2700. <summary>
  2701. Gets or sets the value indicating the full path and filename of the target assembly.
  2702. </summary>
  2703. <value>The target assembly filename.</value>
  2704. </member>
  2705. <member name="P:LinFu.AOP.Tasks.PostWeaveTask.OutputFile">
  2706. <summary>
  2707. Gets or sets the value indicating the full path and filename of the output assembly.
  2708. </summary>
  2709. <value>The output assembly filename.</value>
  2710. <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>
  2711. </member>
  2712. <member name="P:LinFu.AOP.Tasks.PostWeaveTask.InterceptAllMethodCalls">
  2713. <summary>
  2714. Gets or sets the value indicating whether or not third party method calls should be intercepted in the target assembly.
  2715. </summary>
  2716. <value>A boolean value indicating whether or not third party method call interception should be enabled.</value>
  2717. </member>
  2718. <member name="P:LinFu.AOP.Tasks.PostWeaveTask.InterceptAllMethodBodies">
  2719. <summary>
  2720. Gets or sets the value indicating whether or not method bodies should be intercepted in the target assembly.
  2721. </summary>
  2722. <value>A boolean value indicating whether or not method body interception should be enabled.</value>
  2723. </member>
  2724. <member name="P:LinFu.AOP.Tasks.PostWeaveTask.InterceptAllNewInstances">
  2725. <summary>
  2726. Gets or sets the value indicating whether or not new instances should be intercepted in the target assembly.
  2727. </summary>
  2728. <value>A boolean value indicating whether or not new instance interception should be enabled.</value>
  2729. </member>
  2730. <member name="P:LinFu.AOP.Tasks.PostWeaveTask.InterceptAllFields">
  2731. <summary>
  2732. Gets or sets the value indicating whether or not field reads and writes should be intercepted in the target assembly.
  2733. </summary>
  2734. <value>A boolean value indicating whether or not field reads and writes should be enabled.</value>
  2735. </member>
  2736. <member name="P:LinFu.AOP.Tasks.PostWeaveTask.InterceptAllExceptions">
  2737. <summary>
  2738. Gets or sets the value indicating whether or not thrown exceptions should be intercepted in the target assembly.
  2739. </summary>
  2740. <value>A boolean value indicating whether or not exception interception should be enabled.</value>
  2741. </member>
  2742. <member name="T:LinFu.Finders.Interfaces.ICriteria`1">
  2743. <summary>
  2744. Represents a class that describes the search criteria
  2745. for a given item <typeparamref name="T">type</typeparamref>.
  2746. </summary>
  2747. <typeparam name="T">The target item type.</typeparam>
  2748. </member>
  2749. <member name="P:LinFu.Finders.Interfaces.ICriteria`1.Type">
  2750. <summary>
  2751. Gets or sets a value indicating the <see cref="T:LinFu.Finders.Interfaces.CriteriaType" />
  2752. of the current <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" />.
  2753. </summary>
  2754. </member>
  2755. <member name="P:LinFu.Finders.Interfaces.ICriteria`1.Predicate">
  2756. <summary>
  2757. The condition that will determine whether or not
  2758. the target item matches the criteria.
  2759. </summary>
  2760. </member>
  2761. <member name="P:LinFu.Finders.Interfaces.ICriteria`1.Weight">
  2762. <summary>
  2763. Gets or sets a value indicating the weight of the given <see cref="P:LinFu.Finders.Interfaces.ICriteria`1.Predicate" />.
  2764. </summary>
  2765. </member>
  2766. <member name="T:LinFu.Finders.Criteria`1">
  2767. <summary>
  2768. Represents the default implementation of the <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" /> interface.
  2769. </summary>
  2770. <typeparam name="T">The type of item to test.</typeparam>
  2771. </member>
  2772. <member name="P:LinFu.Finders.Criteria`1.Type">
  2773. <summary>
  2774. Gets or sets a value indicating the <see cref="T:LinFu.Finders.Interfaces.CriteriaType" />
  2775. of the current <see cref="T:LinFu.Finders.Criteria`1" />.
  2776. </summary>
  2777. </member>
  2778. <member name="P:LinFu.Finders.Criteria`1.Predicate">
  2779. <summary>
  2780. The condition that will determine whether or not
  2781. the target item matches the criteria.
  2782. </summary>
  2783. </member>
  2784. <member name="P:LinFu.Finders.Criteria`1.Weight">
  2785. <summary>
  2786. The weight of the given <see cref="P:LinFu.Finders.Criteria`1.Predicate" />.
  2787. </summary>
  2788. </member>
  2789. <member name="T:LinFu.Finders.FinderExtensions">
  2790. <summary>
  2791. A class that adds fuzzy search support to <see cref="T:System.Collections.Generic.IList`1" /> instances.
  2792. </summary>
  2793. </member>
  2794. <member name="M:LinFu.Finders.FinderExtensions.AddCriteria``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}},LinFu.Finders.Interfaces.ICriteria{``0})">
  2795. <summary>
  2796. Applies a criteria to the <paramref name="list" /> of
  2797. fuzzy items.
  2798. </summary>
  2799. <typeparam name="TItem">The type of item to test.</typeparam>
  2800. <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>
  2801. <param name="criteria">The criteria to test against each item in the list.</param>
  2802. </member>
  2803. <member name="M:LinFu.Finders.FinderExtensions.AddCriteria``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}},System.Func{``0,System.Boolean})">
  2804. <summary>
  2805. Applies a criteria to the <paramref name="list" /> of
  2806. fuzzy items using the given <paramref name="predicate" />.
  2807. </summary>
  2808. <typeparam name="TItem">The type of item to test.</typeparam>
  2809. <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>
  2810. <param name="predicate">The condition that will be used to test the target item.</param>
  2811. </member>
  2812. <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)">
  2813. <summary>
  2814. Applies a criteria to the <paramref name="list" /> of
  2815. fuzzy items using the given <paramref name="predicate" />.
  2816. </summary>
  2817. <typeparam name="TItem">The type of item to test.</typeparam>
  2818. <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>
  2819. <param name="predicate">The condition that will be used to test the target item.</param>
  2820. <param name="criteriaType">The <see cref="T:LinFu.Finders.Interfaces.CriteriaType" /> to associate with the predicate.</param>
  2821. </member>
  2822. <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)">
  2823. <summary>
  2824. Applies a criteria to the <paramref name="list" /> of
  2825. fuzzy items using the given <paramref name="predicate" />.
  2826. </summary>
  2827. <typeparam name="TItem">The type of item to test.</typeparam>
  2828. <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>
  2829. <param name="predicate">The condition that will be used to test the target item.</param>
  2830. <param name="criteriaType">The <see cref="T:LinFu.Finders.Interfaces.CriteriaType" /> to associate with the predicate.</param>
  2831. <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>
  2832. </member>
  2833. <member name="M:LinFu.Finders.FinderExtensions.Add``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}},``0)">
  2834. <summary>
  2835. Adds an item to a fuzzy list.
  2836. </summary>
  2837. <typeparam name="T">The type of the item being added.</typeparam>
  2838. <param name="list">The fuzzy list that will contain the new item.</param>
  2839. <param name="item">The item being added.</param>
  2840. </member>
  2841. <member name="M:LinFu.Finders.FinderExtensions.BestMatch``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}})">
  2842. <summary>
  2843. Returns the FuzzyItem with the highest confidence score in a given
  2844. <see cref="T:LinFu.Finders.Interfaces.IFuzzyItem`1" /> list.
  2845. </summary>
  2846. <typeparam name="TItem">The type of item being compared.</typeparam>
  2847. <param name="list">The fuzzy list that contains the list of possible matches.</param>
  2848. <returns>The item with the highest match.</returns>
  2849. </member>
  2850. <member name="M:LinFu.Finders.FinderExtensions.Reset``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}})">
  2851. <summary>
  2852. Resets the scores of all fuzzy items in the current list.
  2853. </summary>
  2854. <typeparam name="TItem">The target item type.</typeparam>
  2855. <param name="list">The fuzzy list itself.</param>
  2856. </member>
  2857. <member name="M:LinFu.Finders.FinderExtensions.AsFuzzyList``1(System.Collections.Generic.IEnumerable{``0})">
  2858. <summary>
  2859. Converts a list into a list of <see cref="T:LinFu.Finders.Interfaces.IFuzzyItem`1" /> objects.
  2860. </summary>
  2861. <typeparam name="TItem">The item type will be used in the fuzzy search.</typeparam>
  2862. <param name="items">The target list to be converted.</param>
  2863. <returns>A fuzzy list containing the elements from the given list.</returns>
  2864. </member>
  2865. <member name="T:LinFu.Finders.Interfaces.IFuzzyItem`1">
  2866. <summary>
  2867. Represents a search item in a fuzzy search list.
  2868. </summary>
  2869. <typeparam name="T">
  2870. </typeparam>
  2871. </member>
  2872. <member name="M:LinFu.Finders.Interfaces.IFuzzyItem`1.Test(LinFu.Finders.Interfaces.ICriteria{`0})">
  2873. <summary>
  2874. Tests if the current item matches the given
  2875. <paramref name="criteria" />.
  2876. </summary>
  2877. <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>
  2878. </member>
  2879. <member name="M:LinFu.Finders.Interfaces.IFuzzyItem`1.Reset">
  2880. <summary>
  2881. Resets the item back to its initial state.
  2882. </summary>
  2883. </member>
  2884. <member name="P:LinFu.Finders.Interfaces.IFuzzyItem`1.Confidence">
  2885. <summary>
  2886. Reports the probability of a match
  2887. based on the <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" />
  2888. that has been tested so far.
  2889. A value of 1.0 indicates a 100% match;
  2890. A value of 0.0 equals a zero percent match.
  2891. </summary>
  2892. </member>
  2893. <member name="P:LinFu.Finders.Interfaces.IFuzzyItem`1.Item">
  2894. <summary>
  2895. Gets the target item.
  2896. </summary>
  2897. </member>
  2898. <member name="T:LinFu.Finders.FuzzyItem`1">
  2899. <summary>
  2900. Represents the default implementation of a weighted item in
  2901. a fuzzy list.
  2902. </summary>
  2903. <typeparam name="T">The item type to be tested.</typeparam>
  2904. </member>
  2905. <member name="M:LinFu.Finders.FuzzyItem`1.#ctor(`0)">
  2906. <summary>
  2907. Initializes the <see cref="T:LinFu.Finders.FuzzyItem`1" /> class with the given <paramref name="item" />.
  2908. </summary>
  2909. <param name="item">An instance of the <typeparamref name="T">item type</typeparamref> that will be tested.</param>
  2910. </member>
  2911. <member name="M:LinFu.Finders.FuzzyItem`1.Test(LinFu.Finders.Interfaces.ICriteria{`0})">
  2912. <summary>
  2913. Tests if the current item matches the given
  2914. <paramref name="criteria" />.
  2915. </summary>
  2916. <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>
  2917. </member>
  2918. <member name="M:LinFu.Finders.FuzzyItem`1.Reset">
  2919. <summary>
  2920. Resets the item back to its initial state.
  2921. </summary>
  2922. </member>
  2923. <member name="P:LinFu.Finders.FuzzyItem`1.Confidence">
  2924. <summary>
  2925. Reports the probability of a match
  2926. based on the <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" />
  2927. that has been tested so far.
  2928. A value of 1.0 indicates a 100% match;
  2929. A value of 0.0 equals a zero percent match.
  2930. </summary>
  2931. </member>
  2932. <member name="P:LinFu.Finders.FuzzyItem`1.Item">
  2933. <summary>
  2934. Gets the target item.
  2935. </summary>
  2936. </member>
  2937. <member name="T:LinFu.Finders.Interfaces.CriteriaType">
  2938. <summary>
  2939. The enumeration that determines how a <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" /> instance should
  2940. be handled if the criteria test fails.
  2941. </summary>
  2942. </member>
  2943. <member name="F:LinFu.Finders.Interfaces.CriteriaType.Standard">
  2944. <summary>
  2945. A failure in a criteria test will result in a lower weighted
  2946. score for a target item.
  2947. </summary>
  2948. </member>
  2949. <member name="F:LinFu.Finders.Interfaces.CriteriaType.Optional">
  2950. <summary>
  2951. A failure in a criteria test will be ignored, and hence,
  2952. the criteria will be optional.
  2953. </summary>
  2954. </member>
  2955. <member name="F:LinFu.Finders.Interfaces.CriteriaType.Critical">
  2956. <summary>
  2957. A failure in a criteria test will cause all previous and remaining
  2958. tests against the criteria to fail.
  2959. </summary>
  2960. </member>
  2961. <member name="T:LinFu.Finders.PredicateExtensions">
  2962. <summary>
  2963. A class that adds logical extensions to the <see cref="T:System.Func`2" /> predicate
  2964. class.
  2965. </summary>
  2966. </member>
  2967. <member name="M:LinFu.Finders.PredicateExtensions.Or``1(System.Func{``0,System.Boolean},System.Func{``0,System.Boolean})">
  2968. <summary>
  2969. Logically ORs two <see cref="T:System.Func`2" /> predicates together.
  2970. </summary>
  2971. <typeparam name="TItem">The type of item being compared.</typeparam>
  2972. <param name="left">The left hand predicate.</param>
  2973. <param name="right">The right hand predicate.</param>
  2974. <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>
  2975. </member>
  2976. <member name="M:LinFu.Finders.PredicateExtensions.And``1(System.Func{``0,System.Boolean},System.Func{``0,System.Boolean})">
  2977. <summary>
  2978. Logically ANDs two <see cref="T:System.Func`2" /> predicates together.
  2979. </summary>
  2980. <typeparam name="TItem">The type of item being compared.</typeparam>
  2981. <param name="left">The left hand predicate.</param>
  2982. <param name="right">The right hand predicate.</param>
  2983. <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>
  2984. </member>
  2985. <member name="M:LinFu.Finders.PredicateExtensions.Inverse``1(System.Func{``0,System.Boolean})">
  2986. <summary>
  2987. Logically negates a single predicate.
  2988. </summary>
  2989. <typeparam name="TItem">The type of item being compared.</typeparam>
  2990. <param name="predicate">The predicate to negate.</param>
  2991. <returns>Returns <c>true</c> if the given predicate is <c>false</c>.</returns>
  2992. </member>
  2993. <member name="T:LinFu.IoC.Configuration.FactoryAttribute">
  2994. <summary>
  2995. An attribute that marks a type as a custom factory.
  2996. </summary>
  2997. </member>
  2998. <member name="F:LinFu.IoC.Configuration.FactoryAttribute.ArgumentTypes">
  2999. <summary>
  3000. The additional parameters supported by the custom factory.
  3001. </summary>
  3002. </member>
  3003. <member name="F:LinFu.IoC.Configuration.FactoryAttribute.ServiceName">
  3004. <summary>
  3005. The service name that will be associated
  3006. with the service type.
  3007. </summary>
  3008. </member>
  3009. <member name="M:LinFu.IoC.Configuration.FactoryAttribute.#ctor(System.Type)">
  3010. <summary>
  3011. Marks a target type as a custom factory
  3012. that can create object instances that
  3013. can implement the <paramref name="serviceType" />.
  3014. </summary>
  3015. <param name="serviceType">The service type to create.</param>
  3016. </member>
  3017. <member name="P:LinFu.IoC.Configuration.FactoryAttribute.ServiceType">
  3018. <summary>
  3019. Gets the service type that can be created
  3020. using the factory instance.
  3021. </summary>
  3022. </member>
  3023. <member name="T:LinFu.IoC.Interfaces.IContainer">
  3024. <summary>
  3025. An inversion of control container interface.
  3026. </summary>
  3027. </member>
  3028. <member name="M:LinFu.IoC.Interfaces.IContainer.AddFactory(System.Type,System.Collections.Generic.IEnumerable{System.Type},LinFu.IoC.Interfaces.IFactory)">
  3029. <summary>
  3030. Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it
  3031. with the given <paramref name="serviceType">service type</paramref>.
  3032. </summary>
  3033. <param name="serviceType">The service type to associate with the factory</param>
  3034. <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
  3035. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be responsible for creating the service instance</param>
  3036. </member>
  3037. <member name="M:LinFu.IoC.Interfaces.IContainer.Contains(System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  3038. <summary>
  3039. Determines whether or not the container can create
  3040. the given <paramref name="serviceType">service type</paramref>.
  3041. </summary>
  3042. <param name="serviceType">The type of service used to determine whether or not the given service can actually be created</param>
  3043. <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
  3044. <returns>A <see cref="T:System.Boolean">boolean</see> value that indicates whether or not the service exists.</returns>
  3045. </member>
  3046. <member name="M:LinFu.IoC.Interfaces.IContainer.GetService(System.Type,System.Object[])">
  3047. <summary>
  3048. Causes the container to instantiate the service with the given
  3049. <paramref name="serviceType">service type</paramref>. If the service type cannot be created, then an
  3050. exception will be thrown if the <see cref="P:LinFu.IoC.Interfaces.IContainer.SuppressErrors" /> property
  3051. is set to false. Otherwise, it will simply return null.
  3052. </summary>
  3053. <param name="serviceType">The service type to instantiate.</param>
  3054. <param name="additionalArguments">The additional arguments that will be used to instantiate the service type.</param>
  3055. <returns>If successful, it will return a service instance that is compatible with the given type;
  3056. otherwise, it will just return a null value.</returns>
  3057. </member>
  3058. <member name="P:LinFu.IoC.Interfaces.IContainer.AvailableServices">
  3059. <summary>
  3060. The list of services currently available inside the container.
  3061. </summary>
  3062. </member>
  3063. <member name="P:LinFu.IoC.Interfaces.IContainer.SuppressErrors">
  3064. <summary>
  3065. Determines whether or not a container will throw an exception
  3066. if the requested service is not found.
  3067. </summary>
  3068. </member>
  3069. <member name="T:LinFu.IoC.Interfaces.IFactory">
  3070. <summary>
  3071. Allows an object to create its own service instances.
  3072. </summary>
  3073. </member>
  3074. <member name="M:LinFu.IoC.Interfaces.IFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  3075. <summary>
  3076. Creates a service instance using the given <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance.
  3077. </summary>
  3078. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  3079. <returns>An object instance that represents the service to be created. This cannot be <c>null</c>.</returns>
  3080. </member>
  3081. <member name="T:LinFu.IoC.Interfaces.IFactoryRequest">
  3082. <summary>
  3083. Represents the parameters made to a <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance during
  3084. a <see cref="M:LinFu.IoC.Interfaces.IFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)" /> method call.
  3085. </summary>
  3086. </member>
  3087. <member name="P:LinFu.IoC.Interfaces.IFactoryRequest.Container">
  3088. <summary>
  3089. Gets or sets the value indicating the service container that made the service request.
  3090. </summary>
  3091. </member>
  3092. <member name="P:LinFu.IoC.Interfaces.IFactoryRequest.ServiceName">
  3093. <summary>
  3094. Gets the value indicating the service name.
  3095. </summary>
  3096. <remarks>A null service name indicates that no service name was given during the request.</remarks>
  3097. </member>
  3098. <member name="P:LinFu.IoC.Interfaces.IFactoryRequest.ServiceType">
  3099. <summary>
  3100. Gets the value indicating the requested service type.
  3101. </summary>
  3102. </member>
  3103. <member name="P:LinFu.IoC.Interfaces.IFactoryRequest.Arguments">
  3104. <summary>
  3105. Gets the value indicating the additional arguments given in the factory request.
  3106. </summary>
  3107. </member>
  3108. <member name="T:LinFu.IoC.Configuration.IInitialize">
  3109. <summary>
  3110. Represents service classes that need to be initialized
  3111. every time a particular <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  3112. instance creates that type.
  3113. </summary>
  3114. </member>
  3115. <member name="T:LinFu.IoC.Configuration.ImplementsAttribute">
  3116. <summary>
  3117. The attribute used to specify how a service should be implemented
  3118. in addition to its instancing behavior.
  3119. </summary>
  3120. </member>
  3121. <member name="F:LinFu.IoC.Configuration.ImplementsAttribute.ServiceName">
  3122. <summary>
  3123. The name to associate with the given service.
  3124. </summary>
  3125. </member>
  3126. <member name="M:LinFu.IoC.Configuration.ImplementsAttribute.#ctor(System.Type)">
  3127. <summary>
  3128. Allows users to add services to a container using a
  3129. given <paramref name="serviceType">service type</paramref>.
  3130. </summary>
  3131. <remarks>By default, each service will be created once per request.</remarks>
  3132. <param name="serviceType">The <see cref="T:System.Type" /> of service to implement.</param>
  3133. </member>
  3134. <member name="M:LinFu.IoC.Configuration.ImplementsAttribute.#ctor(System.Type,LinFu.IoC.Configuration.LifecycleType)">
  3135. <summary>
  3136. Allows users to add services to a container using a
  3137. given <paramref name="serviceType">service type</paramref> and
  3138. <paramref name="lifeCycleType">lifecycle type</paramref>.
  3139. </summary>
  3140. <param name="serviceType">The <see cref="T:System.Type" /> of service to implement.</param>
  3141. <param name="lifeCycleType">The instancing behavior to use with this implementation.</param>
  3142. </member>
  3143. <member name="P:LinFu.IoC.Configuration.ImplementsAttribute.ServiceType">
  3144. <summary>
  3145. The type of service that will be implemented.
  3146. </summary>
  3147. </member>
  3148. <member name="P:LinFu.IoC.Configuration.ImplementsAttribute.LifecycleType">
  3149. <summary>
  3150. The instancing behavior of the service instance.
  3151. </summary>
  3152. <seealso cref="P:LinFu.IoC.Configuration.ImplementsAttribute.LifecycleType" />
  3153. </member>
  3154. <member name="T:LinFu.IoC.Interfaces.IPostProcessor">
  3155. <summary>
  3156. Represents a class that can inspect or modify service requests
  3157. from a given container once a service is created.
  3158. </summary>
  3159. </member>
  3160. <member name="M:LinFu.IoC.Interfaces.IPostProcessor.PostProcess(LinFu.IoC.Interfaces.IServiceRequestResult)">
  3161. <summary>
  3162. Allows a <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> instance
  3163. to inspect or modify the result of a service request.
  3164. </summary>
  3165. <seealso cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" />
  3166. <param name="result">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> created as a result of the container operation.</param>
  3167. </member>
  3168. <member name="T:LinFu.IoC.Interfaces.IPreProcessor">
  3169. <summary>
  3170. Represents a class that can inspect or modify service requests
  3171. from a given container before a service is created.
  3172. </summary>
  3173. </member>
  3174. <member name="M:LinFu.IoC.Interfaces.IPreProcessor.Preprocess(LinFu.IoC.Interfaces.IServiceRequest)">
  3175. <summary>
  3176. Allows a <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> instance
  3177. to inspect or modify the result of a service request
  3178. just before the service is instantiated.
  3179. </summary>
  3180. <seealso cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" />
  3181. <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>
  3182. </member>
  3183. <member name="T:LinFu.IoC.Interfaces.IServiceContainer">
  3184. <summary>
  3185. An inversion of control container that supports
  3186. named services.
  3187. </summary>
  3188. <seealso name="IContainer" />
  3189. </member>
  3190. <member name="M:LinFu.IoC.Interfaces.IServiceContainer.AddFactory(System.String,System.Type,System.Collections.Generic.IEnumerable{System.Type},LinFu.IoC.Interfaces.IFactory)">
  3191. <summary>
  3192. Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it
  3193. with the given <paramref name="serviceType">service type</paramref> and
  3194. <paramref name="serviceName">service name</paramref>.
  3195. </summary>
  3196. <param name="serviceName">The name of the service to associate with the given <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</param>
  3197. <param name="serviceType">The type of service that the factory will be able to create.</param>
  3198. <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
  3199. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will create the object instance.</param>
  3200. </member>
  3201. <member name="M:LinFu.IoC.Interfaces.IServiceContainer.Contains(System.String,System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  3202. <summary>
  3203. Determines whether or not a service can be created using
  3204. the given <paramref name="serviceName">service name</paramref>
  3205. and <paramref name="serviceType">service type</paramref>.
  3206. </summary>
  3207. <param name="serviceName">The name of the service to associate with the given <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</param>
  3208. <param name="serviceType">The type of service that the factory will be able to create.</param>
  3209. <param name="additionalParameterTypes">The list of additional parameters that the factory type must support.</param>
  3210. <returns>Returns <c>true</c> if the service exists; otherwise, it will return <c>false</c>.</returns>
  3211. </member>
  3212. <member name="M:LinFu.IoC.Interfaces.IServiceContainer.GetService(System.String,System.Type,System.Object[])">
  3213. <summary>
  3214. Causes the container to instantiate the service with the given
  3215. <paramref name="serviceType">service type</paramref>. If the service type cannot be created, then an
  3216. exception will be thrown if the <see cref="P:LinFu.IoC.Interfaces.IContainer.SuppressErrors" /> property
  3217. is set to false. Otherwise, it will simply return null.
  3218. </summary>
  3219. <param name="serviceName">The name of the service to instantiate.</param>
  3220. <param name="serviceType">The service type to instantiate.</param>
  3221. <param name="additionalArguments">The additional arguments that will be used to instantiate the service type.</param>
  3222. <returns>If successful, it will return a service instance that is compatible with the given type;
  3223. otherwise, it will just return a <c>null</c> value.</returns>
  3224. </member>
  3225. <member name="P:LinFu.IoC.Interfaces.IServiceContainer.PreProcessors">
  3226. <summary>
  3227. The list of preprocessors that will handle
  3228. every service request before each actual service is created.
  3229. </summary>
  3230. </member>
  3231. <member name="P:LinFu.IoC.Interfaces.IServiceContainer.PostProcessors">
  3232. <summary>
  3233. The list of postprocessors that will handle every
  3234. service request result.
  3235. </summary>
  3236. </member>
  3237. <member name="T:LinFu.IoC.Interfaces.IServiceInfo">
  3238. <summary>
  3239. A class that describes a single service
  3240. provided by a container.
  3241. </summary>
  3242. </member>
  3243. <member name="P:LinFu.IoC.Interfaces.IServiceInfo.ServiceName">
  3244. <summary>
  3245. The name of the service being created. By default, this property is blank.
  3246. </summary>
  3247. </member>
  3248. <member name="P:LinFu.IoC.Interfaces.IServiceInfo.ServiceType">
  3249. <summary>
  3250. The type of service being requested.
  3251. </summary>
  3252. </member>
  3253. <member name="P:LinFu.IoC.Interfaces.IServiceInfo.ArgumentTypes">
  3254. <summary>
  3255. Gets a value indicating the list of arguments required by this particular service.
  3256. </summary>
  3257. </member>
  3258. <member name="T:LinFu.IoC.Interfaces.IServiceRequest">
  3259. <summary>
  3260. Represents a class that describes the context of a service request made to a service container.
  3261. </summary>
  3262. </member>
  3263. <member name="P:LinFu.IoC.Interfaces.IServiceRequest.Container">
  3264. <summary>
  3265. The container that will handle the service request.
  3266. </summary>
  3267. </member>
  3268. <member name="P:LinFu.IoC.Interfaces.IServiceRequest.ActualArguments">
  3269. <summary>
  3270. Gets or sets the value indicating the actual arguments that
  3271. will be used for the service request.
  3272. </summary>
  3273. </member>
  3274. <member name="P:LinFu.IoC.Interfaces.IServiceRequest.ProposedArguments">
  3275. <summary>
  3276. Gets the value indicating the original arguments that
  3277. were given during the service request.
  3278. </summary>
  3279. </member>
  3280. <member name="P:LinFu.IoC.Interfaces.IServiceRequest.ProposedFactory">
  3281. <summary>
  3282. Gets the value indicating the original <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance
  3283. that will be used to handle the service request.
  3284. </summary>
  3285. </member>
  3286. <member name="P:LinFu.IoC.Interfaces.IServiceRequest.ActualFactory">
  3287. <summary>
  3288. Gets or sets the value indicating the actual <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance
  3289. that will be used to handle the service request.
  3290. </summary>
  3291. </member>
  3292. <member name="T:LinFu.IoC.Interfaces.IServiceRequestResult">
  3293. <summary>
  3294. Represents the results returned when a service request
  3295. is made against an <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  3296. </summary>
  3297. </member>
  3298. <member name="P:LinFu.IoC.Interfaces.IServiceRequestResult.ServiceName">
  3299. <summary>
  3300. The name of the service being created. By default, this property is blank.
  3301. </summary>
  3302. </member>
  3303. <member name="P:LinFu.IoC.Interfaces.IServiceRequestResult.ServiceType">
  3304. <summary>
  3305. The type of service being requested.
  3306. </summary>
  3307. </member>
  3308. <member name="P:LinFu.IoC.Interfaces.IServiceRequestResult.OriginalResult">
  3309. <summary>
  3310. The raw object reference created by the container itself.
  3311. </summary>
  3312. </member>
  3313. <member name="P:LinFu.IoC.Interfaces.IServiceRequestResult.ActualResult">
  3314. <summary>
  3315. The result that will be returned from the container
  3316. instead of the <see cref="P:LinFu.IoC.Interfaces.IServiceRequestResult.OriginalResult" />.
  3317. If this property is null, then the original result will be used.
  3318. </summary>
  3319. </member>
  3320. <member name="P:LinFu.IoC.Interfaces.IServiceRequestResult.Container">
  3321. <summary>
  3322. The container that will handle the service request.
  3323. </summary>
  3324. </member>
  3325. <member name="P:LinFu.IoC.Interfaces.IServiceRequestResult.AdditionalArguments">
  3326. <summary>
  3327. Gets the value indicating the additional arguments that
  3328. were used during the service request.
  3329. </summary>
  3330. </member>
  3331. <member name="T:LinFu.IoC.Configuration.LifecycleType">
  3332. <summary>
  3333. An enumeration that denotes the instance behavior
  3334. of a particular object reference.
  3335. </summary>
  3336. </member>
  3337. <member name="F:LinFu.IoC.Configuration.LifecycleType.OncePerRequest">
  3338. <summary>
  3339. This means that a new object instance
  3340. will be created on each call.
  3341. </summary>
  3342. </member>
  3343. <member name="F:LinFu.IoC.Configuration.LifecycleType.OncePerThread">
  3344. <summary>
  3345. This means that a new object instance
  3346. will be created only once per thread.
  3347. </summary>
  3348. </member>
  3349. <member name="F:LinFu.IoC.Configuration.LifecycleType.Singleton">
  3350. <summary>
  3351. This means that only a single object instance
  3352. will ever be created in spite of the number of
  3353. subsequent requests for a new object instance.
  3354. </summary>
  3355. </member>
  3356. <member name="T:LinFu.IoC.CompositePostProcessor">
  3357. <summary>
  3358. Represents an <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> type that processes multiple <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> instances at once.
  3359. </summary>
  3360. </member>
  3361. <member name="M:LinFu.IoC.CompositePostProcessor.#ctor(System.Collections.Generic.IEnumerable{LinFu.IoC.Interfaces.IPostProcessor})">
  3362. <summary>
  3363. Initializes the type using the given <paramref name="postProcessors" />.
  3364. </summary>
  3365. <param name="postProcessors">The list of <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> instances that will be handled by this type.</param>
  3366. </member>
  3367. <member name="M:LinFu.IoC.CompositePostProcessor.PostProcess(LinFu.IoC.Interfaces.IServiceRequestResult)">
  3368. <summary>
  3369. A method that passes every request result made
  3370. to the list of postprocessors.
  3371. </summary>
  3372. <param name="result">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> instance that describes the result of the service request.</param>
  3373. <returns>A <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> representing the results returned as a result of the postprocessors.</returns>
  3374. </member>
  3375. <member name="T:LinFu.IoC.CompositePreProcessor">
  3376. <summary>
  3377. Represents an <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" /> type that processes multiple <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" /> instances at once.
  3378. </summary>
  3379. </member>
  3380. <member name="M:LinFu.IoC.CompositePreProcessor.#ctor(System.Collections.Generic.IEnumerable{LinFu.IoC.Interfaces.IPreProcessor})">
  3381. <summary>
  3382. Initializes the type using the given <paramref name="preProcessors" />.
  3383. </summary>
  3384. <param name="preProcessors">The list of <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" /> instances that will be handled by this type.</param>
  3385. </member>
  3386. <member name="M:LinFu.IoC.CompositePreProcessor.Preprocess(LinFu.IoC.Interfaces.IServiceRequest)">
  3387. <summary>
  3388. A method that passes every request result made
  3389. to the list of preprocessors.
  3390. </summary>
  3391. <param name="request">The parameter that describes the context of the service request.</param>
  3392. </member>
  3393. <member name="T:LinFu.IoC.Configuration.Interfaces.IContainerActivationContext">
  3394. <summary>
  3395. Represents a class that describes a request to instantiate a particular object type using a given
  3396. <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  3397. </summary>
  3398. </member>
  3399. <member name="P:LinFu.IoC.Configuration.Interfaces.IContainerActivationContext.Container">
  3400. <summary>
  3401. Gets the value indicating the <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance
  3402. that will instantiate the <see cref="P:LinFu.AOP.Interfaces.IActivationContext.TargetType" />.
  3403. </summary>
  3404. </member>
  3405. <member name="T:LinFu.IoC.Configuration.ContainerActivationContext">
  3406. <summary>
  3407. Represents a class that describes a request to instantiate a particular object type using a given
  3408. <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  3409. </summary>
  3410. </member>
  3411. <member name="M:LinFu.IoC.Configuration.ContainerActivationContext.#ctor(System.Type,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  3412. <summary>
  3413. Initializes the class with the given parameters.
  3414. </summary>
  3415. <param name="concreteType">The type to be instantiated.</param>
  3416. <param name="container">The container that will be used to instantiate the target type.</param>
  3417. <param name="additionalArguments">The additional arguments that must be passed to the constructor.</param>
  3418. </member>
  3419. <member name="P:LinFu.IoC.Configuration.ContainerActivationContext.Container">
  3420. <summary>
  3421. Gets the value indicating the <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance
  3422. that will instantiate the <see cref="P:LinFu.AOP.Interfaces.IActivationContext.TargetType" />.
  3423. </summary>
  3424. </member>
  3425. <member name="T:LinFu.IoC.Configuration.DefaultActivator">
  3426. <summary>
  3427. Represents a class that can instantiate object instances.
  3428. </summary>
  3429. </member>
  3430. <member name="M:LinFu.IoC.Configuration.DefaultActivator.CreateInstance(LinFu.IoC.Configuration.Interfaces.IContainerActivationContext)">
  3431. <summary>
  3432. Creates an object instance.
  3433. </summary>
  3434. <returns>A valid object instance.</returns>
  3435. </member>
  3436. <member name="M:LinFu.IoC.Configuration.DefaultActivator.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  3437. <summary>
  3438. Initializes the class with the default services.
  3439. </summary>
  3440. <param name="container">The target service container.</param>
  3441. </member>
  3442. <member name="T:LinFu.IoC.Configuration.InjectAttribute">
  3443. <summary>
  3444. The attribute used to mark a property for autoinjection.
  3445. </summary>
  3446. </member>
  3447. <member name="T:LinFu.IoC.Configuration.PostProcessorAttribute">
  3448. <summary>
  3449. Marks a target type as an <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" />
  3450. instance that can be injected into a
  3451. <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  3452. </summary>
  3453. </member>
  3454. <member name="T:LinFu.IoC.Configuration.PreprocessorAttribute">
  3455. <summary>
  3456. Marks a target type as an <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" />
  3457. instance that can be injected into a
  3458. <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  3459. </summary>
  3460. </member>
  3461. <member name="T:LinFu.IoC.Configuration.Interfaces.IMethodBuilder`1">
  3462. <summary>
  3463. Represents a class that is responsible for generating methods
  3464. from other existing methods.
  3465. </summary>
  3466. <typeparam name="TMethod">The method type to generate.</typeparam>
  3467. </member>
  3468. <member name="M:LinFu.IoC.Configuration.Interfaces.IMethodBuilder`1.CreateMethod(`0)">
  3469. <summary>
  3470. Creates a method from the <paramref name="existingMethod" />.
  3471. </summary>
  3472. <param name="existingMethod">The method that will be used to define the new method.</param>
  3473. <returns>A method based on the old method.</returns>
  3474. </member>
  3475. <member name="T:LinFu.IoC.Configuration.BaseMethodBuilder`1">
  3476. <summary>
  3477. Represents the default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodBuilder`1" /> interface.
  3478. </summary>
  3479. <typeparam name="TMethod">The method type to generate.</typeparam>
  3480. </member>
  3481. <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.CreateMethod(`0)">
  3482. <summary>
  3483. Creates a method from the <paramref name="existingMethod" />.
  3484. </summary>
  3485. <param name="existingMethod">The method that will be used to define the new method.</param>
  3486. <returns>A method based on the old method.</returns>
  3487. </member>
  3488. <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.PushMethodArguments(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase)">
  3489. <summary>
  3490. Pushes the method arguments onto the stack.
  3491. </summary>
  3492. <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the target method body.</param>
  3493. <param name="targetMethod">The target method that will be invoked.</param>
  3494. </member>
  3495. <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.GetParameterList(`0,System.Type[])">
  3496. <summary>
  3497. Determines the parameter types of the dynamically generated method.
  3498. </summary>
  3499. <param name="existingMethod">The target method.</param>
  3500. <param name="parameterTypes">The target method argument types.</param>
  3501. <returns>The list of <see cref="T:System.Type" /> objects that describe the signature of the method to generate.</returns>
  3502. </member>
  3503. <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.PushInstance(System.Reflection.Emit.ILGenerator,`0)">
  3504. <summary>
  3505. Pushes the method target onto the stack.
  3506. </summary>
  3507. <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> that belongs to the method body.</param>
  3508. <param name="method">The current method.</param>
  3509. </member>
  3510. <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.GetReturnType(`0)">
  3511. <summary>
  3512. Determines the return type from the target <paramref name="method" />.
  3513. </summary>
  3514. <param name="method">The target method itself.</param>
  3515. <returns>The method return type.</returns>
  3516. </member>
  3517. <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.EmitCall(System.Reflection.Emit.ILGenerator,`0)">
  3518. <summary>
  3519. Emits the instruction to call the target <paramref name="method" /></summary>
  3520. <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the target method body.</param>
  3521. <param name="method">The method that will be invoked.</param>
  3522. </member>
  3523. <member name="T:LinFu.IoC.Configuration.Interfaces.IMethodInvoke`1">
  3524. <summary>
  3525. Represents a type that can invoke a method
  3526. using a given set of method arguments.
  3527. </summary>
  3528. </member>
  3529. <member name="M:LinFu.IoC.Configuration.Interfaces.IMethodInvoke`1.Invoke(System.Object,`0,System.Object[])">
  3530. <summary>
  3531. Invokes the <paramref name="targetMethod" />
  3532. using the given <paramref name="arguments" />.
  3533. </summary>
  3534. <param name="target">The target object instance.</param>
  3535. <param name="targetMethod">The target method to invoke.</param>
  3536. <param name="arguments">The arguments to be used with the method.</param>
  3537. <returns>The method return value.</returns>
  3538. </member>
  3539. <member name="T:LinFu.IoC.Configuration.ConstructorInvoke">
  3540. <summary>
  3541. A class that invokes constructor instances.
  3542. </summary>
  3543. </member>
  3544. <member name="M:LinFu.IoC.Configuration.ConstructorInvoke.Invoke(System.Object,System.Reflection.ConstructorInfo,System.Object[])">
  3545. <summary>
  3546. Invokes the <paramref name="targetMethod" /> constructor
  3547. using the given <paramref name="arguments" />.
  3548. </summary>
  3549. <param name="target">The target object instance.</param>
  3550. <param name="targetMethod">The target method to invoke.</param>
  3551. <param name="arguments">The arguments to be used with the method.</param>
  3552. <returns>The method return value.</returns>
  3553. </member>
  3554. <member name="T:LinFu.IoC.Configuration.ConstructorMethodBuilder">
  3555. <summary>
  3556. A method builder that generates dynamic methods using existing constructors.
  3557. </summary>
  3558. </member>
  3559. <member name="M:LinFu.IoC.Configuration.ConstructorMethodBuilder.GetReturnType(System.Reflection.ConstructorInfo)">
  3560. <summary>
  3561. Returns the declaring type of the target constructor.
  3562. </summary>
  3563. <param name="constructor">
  3564. </param>
  3565. <returns>The declaring type of the target constructor.</returns>
  3566. </member>
  3567. <member name="M:LinFu.IoC.Configuration.ConstructorMethodBuilder.EmitCall(System.Reflection.Emit.ILGenerator,System.Reflection.ConstructorInfo)">
  3568. <summary>
  3569. Emits an instruction that instantiates the type associated with the
  3570. <paramref name="constructor" />.
  3571. </summary>
  3572. <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the target method body.</param>
  3573. <param name="constructor">The target constructor.</param>
  3574. </member>
  3575. <member name="T:LinFu.IoC.Configuration.Interfaces.IConstructorArgumentResolver">
  3576. <summary>
  3577. Represents a type that determines the method arguments that should be used for a given constructor.
  3578. </summary>
  3579. </member>
  3580. <member name="M:LinFu.IoC.Configuration.Interfaces.IConstructorArgumentResolver.GetConstructorArguments(System.Reflection.ConstructorInfo,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  3581. <summary>
  3582. Determines the parameter values that should be used for a given constructor.
  3583. </summary>
  3584. <param name="constructor">The target constructor.</param>
  3585. <param name="container">The host container instance.</param>
  3586. <param name="additionalArguments">The list of additional arguments that should be combined with the arguments from the container.</param>
  3587. <returns>A list of arguments that will be used for the given constructor.</returns>
  3588. </member>
  3589. <member name="T:LinFu.IoC.Configuration.Interfaces.INamedType">
  3590. <summary>
  3591. Represents a named type.
  3592. </summary>
  3593. </member>
  3594. <member name="P:LinFu.IoC.Configuration.Interfaces.INamedType.Name">
  3595. <summary>
  3596. Gets or sets a value indicating the name that will be associated with the current type.
  3597. </summary>
  3598. </member>
  3599. <member name="P:LinFu.IoC.Configuration.Interfaces.INamedType.Type">
  3600. <summary>
  3601. Gets or sets the value indicating the current target type.
  3602. </summary>
  3603. </member>
  3604. <member name="T:LinFu.IoC.Configuration.NamedType">
  3605. <summary>
  3606. Represents a named type.
  3607. </summary>
  3608. </member>
  3609. <member name="M:LinFu.IoC.Configuration.NamedType.#ctor">
  3610. <summary>
  3611. Initializes a new instance of the <see cref="T:LinFu.IoC.Configuration.NamedType" /> class.
  3612. </summary>
  3613. </member>
  3614. <member name="M:LinFu.IoC.Configuration.NamedType.#ctor(System.Type)">
  3615. <summary>
  3616. Initializes a new instance of the <see cref="T:LinFu.IoC.Configuration.NamedType" /> class.
  3617. </summary>
  3618. <param name="currentType">The current type.</param>
  3619. </member>
  3620. <member name="M:LinFu.IoC.Configuration.NamedType.#ctor(System.Reflection.ParameterInfo)">
  3621. <summary>
  3622. Initializes a new instance of the <see cref="T:LinFu.IoC.Configuration.NamedType" /> class.
  3623. </summary>
  3624. <param name="parameter">The target parameter.</param>
  3625. </member>
  3626. <member name="M:LinFu.IoC.Configuration.NamedType.#ctor(System.Reflection.PropertyInfo)">
  3627. <summary>
  3628. Initializes a new instance of the <see cref="T:LinFu.IoC.Configuration.NamedType" /> class.
  3629. </summary>
  3630. <param name="property">The target property.</param>
  3631. </member>
  3632. <member name="P:LinFu.IoC.Configuration.NamedType.Name">
  3633. <summary>
  3634. Gets or sets a value indicating the name that will be associated with the current type.
  3635. </summary>
  3636. </member>
  3637. <member name="P:LinFu.IoC.Configuration.NamedType.Type">
  3638. <summary>
  3639. Gets or sets the value indicating the current target type.
  3640. </summary>
  3641. </member>
  3642. <member name="T:LinFu.IoC.Configuration.Resolvers.ConstructorArgumentResolver">
  3643. <summary>
  3644. Represents a class that determines the method arguments that should be used for a given constructor.
  3645. </summary>
  3646. </member>
  3647. <member name="M:LinFu.IoC.Configuration.Resolvers.ConstructorArgumentResolver.GetConstructorArguments(System.Reflection.ConstructorInfo,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  3648. <summary>
  3649. Determines the parameter values that should be used for a given constructor.
  3650. </summary>
  3651. <param name="constructor">The target constructor.</param>
  3652. <param name="container">The host container instance.</param>
  3653. <param name="additionalArguments">The list of additional arguments that should be combined with the arguments from the container.</param>
  3654. <returns>A list of arguments that will be used for the given constructor.</returns>
  3655. </member>
  3656. <member name="M:LinFu.IoC.Configuration.Resolvers.ConstructorArgumentResolver.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  3657. <summary>
  3658. Initializes the class with the default services.
  3659. </summary>
  3660. <param name="container">The target service container.</param>
  3661. </member>
  3662. <member name="M:LinFu.IoC.Configuration.Resolvers.ConstructorArgumentResolver.GetMissingParameterTypes(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable{System.Object})">
  3663. <summary>
  3664. Determines which parameter types need to be supplied to invoke a particular
  3665. <paramref name="constructor" /> instance.
  3666. </summary>
  3667. <param name="constructor">The target constructor.</param>
  3668. <param name="additionalArguments">The additional arguments that will be used to invoke the constructor.</param>
  3669. <returns>The list of parameter types that are still missing parameter values.</returns>
  3670. </member>
  3671. <member name="T:LinFu.IoC.ContainerExtensions">
  3672. <summary>
  3673. A class that adds generics support to existing
  3674. <see cref="T:LinFu.IoC.Interfaces.IContainer" /> and <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  3675. instances.
  3676. </summary>
  3677. </member>
  3678. <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})">
  3679. <summary>
  3680. Loads a set of <paramref name="searchPattern">files</paramref> from the <paramref name="directory">target directory</paramref>
  3681. using a custom <see cref="T:LinFu.Reflection.IAssemblyLoader" /> instance.
  3682. </summary>
  3683. <param name="container">The container to be loaded.</param>
  3684. <param name="assemblyLoader">The custom <see cref="T:LinFu.Reflection.IAssemblyLoader" /> that will be used to load the target assemblies from disk.</param>
  3685. <param name="directory">The target directory.</param>
  3686. <param name="searchPattern">The search pattern that describes the list of files to be loaded.</param>
  3687. <param name="customLoader">The custom loader that will be used to load the container.</param>
  3688. </member>
  3689. <member name="M:LinFu.IoC.ContainerExtensions.LoadFrom(LinFu.IoC.Interfaces.IServiceContainer,LinFu.Reflection.IAssemblyLoader,System.String,System.String)">
  3690. <summary>
  3691. Loads a set of <paramref name="searchPattern">files</paramref> from the <paramref name="directory">target directory</paramref>
  3692. using a custom <see cref="T:LinFu.Reflection.IAssemblyLoader" /> instance.
  3693. </summary>
  3694. <param name="container">The container to be loaded.</param>
  3695. <param name="assemblyLoader">The custom <see cref="T:LinFu.Reflection.IAssemblyLoader" /> that will be used to load the target assemblies from disk.</param>
  3696. <param name="directory">The target directory.</param>
  3697. <param name="searchPattern">The search pattern that describes the list of files to be loaded.</param>
  3698. </member>
  3699. <member name="M:LinFu.IoC.ContainerExtensions.LoadFrom(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.String,LinFu.Reflection.ILoader{LinFu.IoC.Interfaces.IServiceContainer})">
  3700. <summary>
  3701. Loads a set of <paramref name="searchPattern">files</paramref> from the <paramref name="directory">target directory</paramref>.
  3702. </summary>
  3703. <param name="container">The container to be loaded.</param>
  3704. <param name="directory">The target directory.</param>
  3705. <param name="searchPattern">The search pattern that describes the list of files to be loaded.</param>
  3706. <param name="customLoader">The custom loader that will be used to load the container.</param>
  3707. </member>
  3708. <member name="M:LinFu.IoC.ContainerExtensions.LoadFrom(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.String)">
  3709. <summary>
  3710. Loads a set of <paramref name="searchPattern">files</paramref> from the <paramref name="directory">target directory</paramref>.
  3711. </summary>
  3712. <param name="container">The container to be loaded.</param>
  3713. <param name="directory">The target directory.</param>
  3714. <param name="searchPattern">The search pattern that describes the list of files to be loaded.</param>
  3715. </member>
  3716. <member name="M:LinFu.IoC.ContainerExtensions.LoadFromBaseDirectory(LinFu.IoC.Interfaces.IServiceContainer,System.String)">
  3717. <summary>
  3718. Loads a set of <paramref name="searchPattern">files</paramref> from the application base directory.
  3719. </summary>
  3720. <param name="container">The container to be loaded.</param>
  3721. <param name="searchPattern">The search pattern that describes the list of files to be loaded.</param>
  3722. </member>
  3723. <member name="M:LinFu.IoC.ContainerExtensions.AutoCreateFrom(System.Type,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  3724. <summary>
  3725. Automatically instantiates a <paramref name="concreteType" />
  3726. with the constructor with the most resolvable parameters from
  3727. the given <paramref name="container" /> instance.
  3728. </summary>
  3729. <remarks>
  3730. 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
  3731. register your type and instantiate it with the <see cref="M:LinFu.IoC.ContainerExtensions.GetService``1(LinFu.IoC.Interfaces.IServiceContainer,System.Object[])" /> method.
  3732. </remarks>
  3733. <param name="container">The service container that contains the arguments that will automatically be injected into the constructor.</param>
  3734. <param name="concreteType">The type to instantiate.</param>
  3735. <param name="additionalArguments">The list of arguments to pass to the target type.</param>
  3736. <returns>A valid, non-null object reference.</returns>
  3737. </member>
  3738. <member name="M:LinFu.IoC.ContainerExtensions.AutoLoadFrom(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.String)">
  3739. <summary>
  3740. Automatically loads assemblies from the given <paramref name="directory" /> whenever an assembly
  3741. matching the given <paramref name="fileSpec" /> is dropped into the given directory.
  3742. </summary>
  3743. <param name="container">The service container that will automatically be configured whenever a file change is detected.</param>
  3744. <param name="directory">The target directory.</param>
  3745. <param name="fileSpec">The assembly file pattern.</param>
  3746. </member>
  3747. <member name="M:LinFu.IoC.ContainerExtensions.LoadFrom(LinFu.IoC.Interfaces.IServiceContainer,System.Reflection.Assembly)">
  3748. <summary>
  3749. Loads an existing <paramref name="assembly" /> into the container.
  3750. </summary>
  3751. <param name="container">The target container to be configured.</param>
  3752. <param name="assembly">The assembly to be loaded.</param>
  3753. </member>
  3754. <member name="M:LinFu.IoC.ContainerExtensions.CreateDefaultContainerLoader(LinFu.Reflection.ILoader{LinFu.IoC.Interfaces.IServiceContainer})">
  3755. <summary>
  3756. Generates the default <see cref="T:LinFu.IoC.Configuration.AssemblyContainerLoader" /> for a <see cref="T:LinFu.IoC.Configuration.Loader" /> class instance.
  3757. </summary>
  3758. <param name="loader">The loader that will load the target container.</param>
  3759. <returns>A valid <see cref="T:LinFu.IoC.Configuration.AssemblyContainerLoader" /> instance.</returns>
  3760. </member>
  3761. <member name="M:LinFu.IoC.ContainerExtensions.SetCustomPropertyInjectionAttribute(LinFu.IoC.Interfaces.IServiceContainer,System.Type)">
  3762. <summary>
  3763. Sets the custom attribute type that will be used to mark properties
  3764. for automatic injection.
  3765. </summary>
  3766. <param name="container">The target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</param>
  3767. <param name="attributeType">The custom property attribute that will be used to mark properties for injection.</param>
  3768. </member>
  3769. <member name="M:LinFu.IoC.ContainerExtensions.SetCustomMethodInjectionAttribute(LinFu.IoC.Interfaces.IServiceContainer,System.Type)">
  3770. <summary>
  3771. Sets the custom attribute type that will be used to mark methods
  3772. for automatic injection.
  3773. </summary>
  3774. <param name="container">The target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</param>
  3775. <param name="attributeType">The custom property attribute that will be used to mark method for injection.</param>
  3776. </member>
  3777. <member name="M:LinFu.IoC.ContainerExtensions.SetCustomFieldInjectionAttribute(LinFu.IoC.Interfaces.IServiceContainer,System.Type)">
  3778. <summary>
  3779. Sets the custom attribute type that will be used to mark fields
  3780. for automatic injection.
  3781. </summary>
  3782. <param name="container">The target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</param>
  3783. <param name="attributeType">The custom property attribute that will be used to mark fields for injection.</param>
  3784. </member>
  3785. <member name="M:LinFu.IoC.ContainerExtensions.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  3786. <summary>
  3787. Initializes the target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  3788. with the default services.
  3789. </summary>
  3790. <param name="container">
  3791. </param>
  3792. </member>
  3793. <member name="M:LinFu.IoC.ContainerExtensions.AutoCreate(LinFu.IoC.Interfaces.IServiceContainer,System.Type,System.Object[])">
  3794. <summary>
  3795. Automatically instantiates a <paramref name="concreteType" />
  3796. with the constructor with the most resolvable parameters from
  3797. the given <paramref name="container" /> instance.
  3798. </summary>
  3799. <param name="container">The service container that contains the arguments that will automatically be injected into the constructor.</param>
  3800. <param name="concreteType">The type to instantiate.</param>
  3801. <param name="additionalArguments">The list of arguments to pass to the target type.</param>
  3802. <returns>A valid, non-null object reference.</returns>
  3803. </member>
  3804. <member name="M:LinFu.IoC.ContainerExtensions.AutoCreate``1(LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  3805. <summary>
  3806. Automatically instantiates a <typeparamref name="T" /> type
  3807. with the constructor with the most resolvable parameters from
  3808. the given <paramref name="container" /> instance.
  3809. </summary>
  3810. <typeparam name="T">The type to instantiate.</typeparam>
  3811. <param name="container">The service container that contains the arguments that will automatically be injected into the constructor.</param>
  3812. <param name="additionalArguments">The list of arguments to pass to the target type's constructors.</param>
  3813. <returns>A valid, non-null object reference.</returns>
  3814. </member>
  3815. <member name="M:LinFu.IoC.ContainerExtensions.PostProcess(LinFu.IoC.Interfaces.IServiceContainer,System.Type,System.Object,System.Object[])">
  3816. <summary>
  3817. Postprocesses an object instance as if it were created from the target <paramref name="container" />.
  3818. </summary>
  3819. <param name="container">The container that will postprocess the target <paramref name="instance" />.</param>
  3820. <param name="concreteType">The type being processed.</param>
  3821. <param name="instance">The target instance to be processed.</param>
  3822. <param name="additionalArguments">The list of arguments to pass to the target type.</param>
  3823. <returns>A valid, non-null object reference.</returns>
  3824. </member>
  3825. <member name="M:LinFu.IoC.ContainerExtensions.AutoCreateInternal(LinFu.IoC.Interfaces.IServiceContainer,System.Type,System.Object[])">
  3826. <summary>
  3827. Automatically instantiates a <paramref name="concreteType" />
  3828. with the constructor with the most resolvable parameters from
  3829. the given <paramref name="container" /> instance.
  3830. </summary>
  3831. <remarks>
  3832. 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
  3833. register your type and instantiate it with the <see cref="M:LinFu.IoC.ContainerExtensions.GetService``1(LinFu.IoC.Interfaces.IServiceContainer,System.Object[])" /> method.
  3834. </remarks>
  3835. <param name="container">The service container that contains the arguments that will automatically be injected into the constructor.</param>
  3836. <param name="concreteType">The type to instantiate.</param>
  3837. <param name="additionalArguments">The list of arguments to pass to the target type.</param>
  3838. <returns>A valid, non-null object reference.</returns>
  3839. </member>
  3840. <member name="M:LinFu.IoC.ContainerExtensions.AddDefaultServices(LinFu.IoC.Interfaces.IServiceContainer)">
  3841. <summary>
  3842. Initializes the container with the minimum required services.
  3843. </summary>
  3844. <param name="container">The target service container.</param>
  3845. </member>
  3846. <member name="M:LinFu.IoC.ContainerExtensions.GetService``1(LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  3847. <summary>
  3848. Creates an instance of <typeparamref name="T" />
  3849. using the given <paramref name="container" />.
  3850. </summary>
  3851. <typeparam name="T">The service type to create.</typeparam>
  3852. <param name="container">The container that will instantiate the service.</param>
  3853. <param name="additionalArguments">The additional arguments that will be used to construct the service type.</param>
  3854. <returns>If successful, it will return a service instance that is compatible with the given type;
  3855. otherwise, it will just return a <c>null</c> value.</returns>
  3856. </member>
  3857. <member name="M:LinFu.IoC.ContainerExtensions.GetService(LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Interfaces.IServiceInfo,System.Object[])">
  3858. <summary>
  3859. Instantiates a service that matches the <paramref name="info">service description</paramref>.
  3860. </summary>
  3861. <param name="container">The container that will instantiate the service.</param>
  3862. <param name="info">The description of the requested service.</param>
  3863. <param name="additionalArguments">The additional arguments that will be used to construct the service type.</param>
  3864. <returns>If successful, it will return a service instance that is compatible with the given type;
  3865. otherwise, it will just return a <c>null</c> value.</returns>
  3866. </member>
  3867. <member name="M:LinFu.IoC.ContainerExtensions.GetService``1(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Object[])">
  3868. <summary>
  3869. Creates an instance of <typeparamref name="T" />
  3870. using the given <paramref name="container" />.
  3871. </summary>
  3872. <typeparam name="T">The service type to create.</typeparam>
  3873. <param name="container">The container that will instantiate the service.</param>
  3874. <param name="serviceName">The name of the service to instantiate.</param>
  3875. <param name="additionalArguments">The additional arguments that will be used to construct the service type.</param>
  3876. <returns>If successful, it will return a service instance that is compatible with the given type;
  3877. otherwise, it will just return a <c>null</c> value.</returns>
  3878. </member>
  3879. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.Type,System.Type)">
  3880. <summary>
  3881. Configures the container to instantiate the <paramref name="implementingType" />
  3882. on every request for the <paramref name="serviceType" />.
  3883. </summary>
  3884. <param name="container">The container that will hold the service type.</param>
  3885. <param name="serviceType">The type of service being implemented.</param>
  3886. <param name="implementingType">The concrete type that will implement the service type.</param>
  3887. </member>
  3888. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.Type,LinFu.IoC.Configuration.LifecycleType)">
  3889. <summary>
  3890. Registers the <paramref name="serviceTypeToRegisterAsSelf">service type</paramref>
  3891. as both the implementing type and the service type using the given <paramref name="lifecycle" />.
  3892. </summary>
  3893. <param name="container">The container that will hold the service type.</param>
  3894. <param name="serviceTypeToRegisterAsSelf">The service type that will be registered as both the service type and the implementing type.</param>
  3895. <param name="lifecycle">The service <see cref="T:LinFu.IoC.Configuration.LifecycleType" />.</param>
  3896. </member>
  3897. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.Type)">
  3898. <summary>
  3899. Registers the <paramref name="serviceTypeToRegisterAsSelf">service type</paramref>
  3900. as both the implementing type and the service type.
  3901. </summary>
  3902. <param name="container">The container that will hold the service type.</param>
  3903. <param name="serviceTypeToRegisterAsSelf">The service type that will be registered as both the service type and the implementing type.</param>
  3904. </member>
  3905. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.Type,System.Type,LinFu.IoC.Configuration.LifecycleType)">
  3906. <summary>
  3907. Configures the container to instantiate the <paramref name="implementingType" />
  3908. on every request for the <paramref name="serviceType" />.
  3909. </summary>
  3910. <param name="container">The container that will hold the service type.</param>
  3911. <param name="serviceType">The type of service being implemented.</param>
  3912. <param name="implementingType">The concrete type that will implement the service type.</param>
  3913. <param name="lifecycle">The service <see cref="T:LinFu.IoC.Configuration.LifecycleType" />.</param>
  3914. </member>
  3915. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Type,System.Object)">
  3916. <summary>
  3917. Registers an existing service instance with the container using the given
  3918. <paramref name="serviceName" /> and <paramref name="serviceType" />.
  3919. </summary>
  3920. <param name="container">The target container instance.</param>
  3921. <param name="serviceName">The service name that will be associated with the service instance.</param>
  3922. <param name="serviceType">The target service type.</param>
  3923. <param name="serviceInstance">The actual service instance that will represent the service type.</param>
  3924. </member>
  3925. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.Type,System.Object)">
  3926. <summary>
  3927. Registers an existing service instance with the container using the given
  3928. <paramref name="serviceType" />.
  3929. </summary>
  3930. <param name="container">The target container instance.</param>
  3931. <param name="serviceType">The target service type.</param>
  3932. <param name="serviceInstance">The actual service instance that will represent the service type.</param>
  3933. </member>
  3934. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Type,System.Type,LinFu.IoC.Configuration.LifecycleType)">
  3935. <summary>
  3936. Configures the container to instantiate the <paramref name="implementingType" />
  3937. on every request for the <paramref name="serviceType" />.
  3938. </summary>
  3939. <param name="serviceName">The name of the service to associate with the given <paramref name="serviceType" />.</param>
  3940. <param name="container">The container that will hold the service type.</param>
  3941. <param name="serviceType">The type of service being implemented.</param>
  3942. <param name="implementingType">The concrete type that will implement the service type.</param>
  3943. <param name="lifecycle">The service <see cref="T:LinFu.IoC.Configuration.LifecycleType" />.</param>
  3944. </member>
  3945. <member name="M:LinFu.IoC.ContainerExtensions.AddFactory``1(LinFu.IoC.Interfaces.IServiceContainer,System.String,LinFu.IoC.Interfaces.IFactory{``0})">
  3946. <summary>
  3947. Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it
  3948. with the given <typeparamref name="T">service type</typeparamref> and
  3949. <paramref name="serviceName">service name</paramref>.
  3950. </summary>
  3951. <param name="serviceName">The name of the service to associate with the given <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</param>
  3952. <param name="container">The container that will hold the factory instance.</param>
  3953. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> instance that will create the object instance.</param>
  3954. </member>
  3955. <member name="M:LinFu.IoC.ContainerExtensions.AddFactory``1(LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Interfaces.IFactory{``0})">
  3956. <summary>
  3957. Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it
  3958. with the given <typeparamref name="T">service type</typeparamref>.
  3959. </summary>
  3960. <param name="container">The container that will hold the factory instance.</param>
  3961. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> instance that will create the object instance.</param>
  3962. </member>
  3963. <member name="M:LinFu.IoC.ContainerExtensions.AddFactory(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Type,LinFu.IoC.Interfaces.IFactory)">
  3964. <summary>
  3965. Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it with the given
  3966. <paramref name="serviceName" /> and <paramref name="serviceType" /></summary>
  3967. <param name="container">The target container.</param>
  3968. <param name="serviceName">The service name.</param>
  3969. <param name="serviceType">The service type.</param>
  3970. <param name="factory">The factory instance that will be responsible for creating the service itself.</param>
  3971. </member>
  3972. <member name="M:LinFu.IoC.ContainerExtensions.AddFactory(LinFu.IoC.Interfaces.IServiceContainer,System.Type,LinFu.IoC.Interfaces.IFactory)">
  3973. <summary>
  3974. Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it with the given
  3975. <paramref name="serviceType" /></summary>
  3976. <param name="container">The target container.</param>
  3977. <param name="serviceType">The service type.</param>
  3978. <param name="factory">The factory instance that will be responsible for creating the service itself.</param>
  3979. </member>
  3980. <member name="M:LinFu.IoC.ContainerExtensions.AddDefaultFactory(LinFu.IoC.Interfaces.IServiceContainer,System.Type,LinFu.IoC.Interfaces.IFactory)">
  3981. <summary>
  3982. Registers the <paramref name="factory" /> as the default factory instance
  3983. that will be used if no other factory can be found for the current <paramref name="serviceType" />.
  3984. </summary>
  3985. <param name="container">The host container.</param>
  3986. <param name="serviceType">The service type that will be created by the default factory.</param>
  3987. <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>
  3988. </member>
  3989. <member name="M:LinFu.IoC.ContainerExtensions.AddService``1(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Func{``0})">
  3990. <summary>
  3991. Adds a service to the container by using the given <paramref name="factoryMethod" />
  3992. to instantiate the service instance.
  3993. </summary>
  3994. <typeparam name="TResult">The service type itself.</typeparam>
  3995. <param name="serviceName">The name that will be associated with the service instance.</param>
  3996. <param name="container">The host container that will instantiate the service type.</param>
  3997. <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
  3998. </member>
  3999. <member name="M:LinFu.IoC.ContainerExtensions.AddService``2(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Func{``0,``1})">
  4000. <summary>
  4001. Adds a service to the container by using the given <paramref name="factoryMethod" />
  4002. to instantiate the service instance.
  4003. </summary>
  4004. <typeparam name="TResult">The service type itself.</typeparam>
  4005. <typeparam name="T1">The first parameter type of the <paramref name="factoryMethod" />.</typeparam>
  4006. <param name="serviceName">The name that will be associated with the service instance.</param>
  4007. <param name="container">The host container that will instantiate the service type.</param>
  4008. <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
  4009. </member>
  4010. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Type,System.MulticastDelegate)">
  4011. <summary>
  4012. Adds a service to the container by using the given <paramref name="factoryMethod" />
  4013. to instantiate the service instance.
  4014. </summary>
  4015. <param name="serviceName">The name that will be associated with the service instance.</param>
  4016. <param name="container">The host container that will instantiate the service type.</param>
  4017. <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
  4018. <param name="serviceType">The service type that will be implemented.</param>
  4019. </member>
  4020. <member name="M:LinFu.IoC.ContainerExtensions.AddService``3(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Func{``0,``1,``2})">
  4021. <summary>
  4022. Adds a service to the container by using the given <paramref name="factoryMethod" />
  4023. to instantiate the service instance.
  4024. </summary>
  4025. <typeparam name="TResult">The service type itself.</typeparam>
  4026. <typeparam name="T1">The first parameter type of the <paramref name="factoryMethod" />.</typeparam>
  4027. <typeparam name="T2">The second parameter type of the <paramref name="factoryMethod" />.</typeparam>
  4028. <param name="serviceName">The name that will be associated with the service instance.</param>
  4029. <param name="container">The host container that will instantiate the service type.</param>
  4030. <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
  4031. </member>
  4032. <member name="M:LinFu.IoC.ContainerExtensions.AddService``5(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Func{``0,``1,``2,``3,``4})">
  4033. <summary>
  4034. Adds a service to the container by using the given <paramref name="factoryMethod" />
  4035. to instantiate the service instance.
  4036. </summary>
  4037. <typeparam name="TResult">The service type itself.</typeparam>
  4038. <typeparam name="T1">The first parameter type of the <paramref name="factoryMethod" />.</typeparam>
  4039. <typeparam name="T2">The second parameter type of the <paramref name="factoryMethod" />.</typeparam>
  4040. <typeparam name="T3">The third parameter type of the <paramref name="factoryMethod" />.</typeparam>
  4041. <typeparam name="T4">The third parameter type of the <paramref name="factoryMethod" />.</typeparam>
  4042. <param name="serviceName">The name that will be associated with the service instance.</param>
  4043. <param name="container">The host container that will instantiate the service type.</param>
  4044. <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
  4045. </member>
  4046. <member name="M:LinFu.IoC.ContainerExtensions.AddService``4(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Func{``0,``1,``2,``3})">
  4047. <summary>
  4048. Adds a service to the container by using the given <paramref name="factoryMethod" />
  4049. to instantiate the service instance.
  4050. </summary>
  4051. <typeparam name="TResult">The service type itself.</typeparam>
  4052. <typeparam name="T1">The first parameter type of the <paramref name="factoryMethod" />.</typeparam>
  4053. <typeparam name="T2">The second parameter type of the <paramref name="factoryMethod" />.</typeparam>
  4054. <typeparam name="T3">The third parameter type of the <paramref name="factoryMethod" />.</typeparam>
  4055. <param name="serviceName">The name that will be associated with the service instance.</param>
  4056. <param name="container">The host container that will instantiate the service type.</param>
  4057. <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
  4058. </member>
  4059. <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)">
  4060. <summary>
  4061. Adds a service to the container by using the given <paramref name="factoryMethod" /> and <paramref name="lifecycleType" />
  4062. to instantiate the service instance.
  4063. </summary>
  4064. <typeparam name="T">The service type itself.</typeparam>
  4065. <param name="serviceName">The name that will be associated with the service instance.</param>
  4066. <param name="container">The host container that will instantiate the service type.</param>
  4067. <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
  4068. <param name="lifecycleType">The service <see cref="T:LinFu.IoC.Configuration.LifecycleType" /> type.</param>
  4069. </member>
  4070. <member name="M:LinFu.IoC.ContainerExtensions.AddService``1(LinFu.IoC.Interfaces.IServiceContainer,System.Func{LinFu.IoC.Interfaces.IFactoryRequest,``0},LinFu.IoC.Configuration.LifecycleType)">
  4071. <summary>
  4072. Adds a service to the container by using the given <paramref name="factoryMethod" /> and <paramref name="lifecycleType" />
  4073. to instantiate the service instance.
  4074. </summary>
  4075. <typeparam name="T">The service type itself.</typeparam>
  4076. <param name="container">The host container that will instantiate the service type.</param>
  4077. <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
  4078. <param name="lifecycleType">The service <see cref="T:LinFu.IoC.Configuration.LifecycleType" /> type.</param>
  4079. </member>
  4080. <member name="M:LinFu.IoC.ContainerExtensions.AddService``1(LinFu.IoC.Interfaces.IServiceContainer,``0)">
  4081. <summary>
  4082. Adds an existing service instance to the container.
  4083. </summary>
  4084. <typeparam name="T">The type of service being added.</typeparam>
  4085. <param name="container">The container that will hold the service instance.</param>
  4086. <param name="instance">The service instance itself.</param>
  4087. </member>
  4088. <member name="M:LinFu.IoC.ContainerExtensions.AddService``1(LinFu.IoC.Interfaces.IServiceContainer,System.String,``0)">
  4089. <summary>
  4090. Adds an existing service instance to the container and
  4091. associates it with the <paramref name="serviceName" />.
  4092. </summary>
  4093. <typeparam name="T">The type of service being added.</typeparam>
  4094. <param name="container">The container that will hold the service instance.</param>
  4095. <param name="serviceName">The name that will be associated with the service instance.</param>
  4096. <param name="instance">The service instance itself.</param>
  4097. </member>
  4098. <member name="M:LinFu.IoC.ContainerExtensions.GetServices``1(LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  4099. <summary>
  4100. Returns all the services in the container that match the given
  4101. <typeparamref name="T">service type</typeparamref>.
  4102. </summary>
  4103. <typeparam name="T">The type of service to return.</typeparam>
  4104. <param name="container">The target container.</param>
  4105. <param name="additionalArguments">The additional arguments that will be used to construct the service type.</param>
  4106. <returns>The list of services that implement the given service type.</returns>
  4107. </member>
  4108. <member name="M:LinFu.IoC.ContainerExtensions.GetServices(LinFu.IoC.Interfaces.IServiceContainer,System.Func{LinFu.IoC.Interfaces.IServiceInfo,System.Boolean},System.Object[])">
  4109. <summary>
  4110. Returns a list of services that match the given <paramref name="condition" />.
  4111. </summary>
  4112. <param name="condition">The predicate that determines which services should be returned.</param>
  4113. <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>
  4114. <param name="container">the target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</param>
  4115. <param name="additionalArguments">The additional arguments that will be used to construct the service type.</param>
  4116. </member>
  4117. <member name="M:LinFu.IoC.ContainerExtensions.Contains(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Type,System.Object[])">
  4118. <summary>
  4119. Determines whether or not the container can instantiate the given <paramref name="serviceName" />
  4120. and <paramref name="serviceType" /> using the given <paramref name="sampleArguments" />.
  4121. </summary>
  4122. <param name="container">The target container.</param>
  4123. <param name="serviceName">The name of the requested service.</param>
  4124. <param name="serviceType">The requested service type.</param>
  4125. <param name="sampleArguments">The potential arguments for the service type.</param>
  4126. <returns>Returns <c>true</c> if the requested services exist; otherwise, it will return <c>false</c>.</returns>
  4127. </member>
  4128. <member name="M:LinFu.IoC.ContainerExtensions.Contains(LinFu.IoC.Interfaces.IServiceContainer,System.Type)">
  4129. <summary>
  4130. Determines whether or not the container contains a service that matches
  4131. the given <paramref name="serviceType" />.
  4132. </summary>
  4133. <param name="container">The target container.</param>
  4134. <param name="serviceType">The requested service type.</param>
  4135. <returns>Returns <c>true</c> if the requested services exist; otherwise, it will return <c>false</c>.</returns>
  4136. </member>
  4137. <member name="M:LinFu.IoC.ContainerExtensions.Contains(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Type)">
  4138. <summary>
  4139. Determines whether or not the container contains a service that matches
  4140. the given <paramref name="serviceType" />.
  4141. </summary>
  4142. <param name="container">The target container.</param>
  4143. <param name="serviceName">The requested service name.</param>
  4144. <param name="serviceType">The requested service type.</param>
  4145. <returns>Returns <c>true</c> if the requested services exist; otherwise, it will return <c>false</c>.</returns>
  4146. </member>
  4147. <member name="M:LinFu.IoC.ContainerExtensions.Contains(LinFu.IoC.Interfaces.IServiceContainer,System.Func{LinFu.IoC.Interfaces.IServiceInfo,System.Boolean})">
  4148. <summary>
  4149. Determines whether or not a container contains services that match
  4150. the given <paramref name="condition" />.
  4151. </summary>
  4152. <param name="container">The target container.</param>
  4153. <param name="condition">The predicate that will be used to determine whether or not the requested services exist.</param>
  4154. <returns>Returns <c>true</c> if the requested services exist; otherwise, it will return <c>false</c>.</returns>
  4155. </member>
  4156. <member name="M:LinFu.IoC.ContainerExtensions.DisableAutoPropertyInjection(LinFu.IoC.Interfaces.IServiceContainer)">
  4157. <summary>
  4158. Disables automatic property injection for the <paramref name="container" />.
  4159. </summary>
  4160. <param name="container">The target container.</param>
  4161. </member>
  4162. <member name="M:LinFu.IoC.ContainerExtensions.DisableAutoMethodInjection(LinFu.IoC.Interfaces.IServiceContainer)">
  4163. <summary>
  4164. Disables automatic method injection for the <paramref name="container" />.
  4165. </summary>
  4166. <param name="container">The target container.</param>
  4167. </member>
  4168. <member name="M:LinFu.IoC.ContainerExtensions.DisableAutoFieldInjection(LinFu.IoC.Interfaces.IServiceContainer)">
  4169. <summary>
  4170. Disables automatic field injection for the <paramref name="container" />.
  4171. </summary>
  4172. <param name="container">The target container.</param>
  4173. </member>
  4174. <member name="M:LinFu.IoC.ContainerExtensions.DisableAutoInjectionFor``1(LinFu.IoC.Interfaces.IServiceContainer)">
  4175. <summary>
  4176. Disables automatic dependency injection for members that match the specific
  4177. <typeparamref name="TMember" /> type.
  4178. </summary>
  4179. <typeparam name="TMember">The member injection type to disable.</typeparam>
  4180. <param name="container">The target container.</param>
  4181. </member>
  4182. <member name="T:LinFu.IoC.FluentExtensions">
  4183. <summary>
  4184. A class that adds fluent syntax support to <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  4185. instances.
  4186. </summary>
  4187. </member>
  4188. <member name="M:LinFu.IoC.FluentExtensions.Inject``1(LinFu.IoC.Interfaces.IServiceContainer,System.String)">
  4189. <summary>
  4190. Injects a <typeparamref name="TService" /> type
  4191. into a <paramref name="container" /> using the
  4192. given <paramref name="serviceName" /></summary>
  4193. <typeparam name="TService">The type of service to inject.</typeparam>
  4194. <param name="container">The container that will hold the actual service service instance.</param>
  4195. <param name="serviceName">The name of the service to create.</param>
  4196. <returns>A non-null <see cref="T:LinFu.IoC.Configuration.IUsingLambda`1" /> instance.</returns>
  4197. </member>
  4198. <member name="M:LinFu.IoC.FluentExtensions.Inject``1(LinFu.IoC.Interfaces.IServiceContainer)">
  4199. <summary>
  4200. Injects a <typeparamref name="TService" /> type
  4201. into a <paramref name="container" />.
  4202. </summary>
  4203. <typeparam name="TService">The type of service to inject.</typeparam>
  4204. <param name="container">The container that will hold the actual service service instance.</param>
  4205. <returns>A non-null <see cref="T:LinFu.IoC.Configuration.IUsingLambda`1" /> instance.</returns>
  4206. </member>
  4207. <member name="M:LinFu.IoC.FluentExtensions.Initialize``1(LinFu.IoC.Interfaces.IServiceContainer)">
  4208. <summary>
  4209. Initializes services that match the given <typeparamref name="TService" /> type.
  4210. </summary>
  4211. <typeparam name="TService">The service type to initialize.</typeparam>
  4212. <param name="container">The container that will create the service itself.</param>
  4213. <returns>A <see cref="T:LinFu.IoC.Configuration.Interfaces.IPropertyInjectionLambda`1" /> instance. This cannot be <c>null</c>.</returns>
  4214. </member>
  4215. <member name="M:LinFu.IoC.FluentExtensions.Initialize``1(LinFu.IoC.Interfaces.IServiceContainer,System.String)">
  4216. <summary>
  4217. Initializes services that match the given <paramref name="serviceName" /> and <typeparamref name="TService" /> type.
  4218. </summary>
  4219. <typeparam name="TService">The service type to initialize.</typeparam>
  4220. <param name="container">The container that will create the service itself.</param>
  4221. <param name="serviceName">The name of the service to initialize.</param>
  4222. <returns>A <see cref="T:LinFu.IoC.Configuration.Interfaces.IPropertyInjectionLambda`1" /> instance. This cannot be <c>null</c>.</returns>
  4223. </member>
  4224. <member name="M:LinFu.IoC.FluentExtensions.CreateAdapter``1(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,``0})">
  4225. <summary>
  4226. Converts a <see cref="T:System.Func`4" />
  4227. lambda into an equivalent <see cref="T:System.Func`4" />
  4228. instance.
  4229. </summary>
  4230. <typeparam name="TService">The type of service to create.</typeparam>
  4231. <param name="func">The lambda function to be converted.</param>
  4232. <returns>The equivalent <see cref="T:System.Func`2" />
  4233. that delegates its calls back to the <paramref name="func" /> lambda function.</returns>
  4234. </member>
  4235. <member name="T:LinFu.IoC.Configuration.ResolutionExtensions">
  4236. <summary>
  4237. Adds methods that extend LinFu.IoC to support automatic constructor resolution.
  4238. </summary>
  4239. </member>
  4240. <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.MustExistInContainer(System.Type)">
  4241. <summary>
  4242. Generates a predicate that determines whether or not a specific parameter type
  4243. exists in a container.
  4244. </summary>
  4245. <param name="parameterType">The target <see cref="T:System.Type" />. </param>
  4246. <returns>A a predicate that determines whether or not a specific type
  4247. exists in a container</returns>
  4248. </member>
  4249. <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.ExistsAsEnumerableSetOfServices(System.Type)">
  4250. <summary>
  4251. Generates a predicate that determines whether or not a specific type is actually
  4252. a list of services that can be created from a given container.
  4253. </summary>
  4254. <param name="parameterType">The target <see cref="T:System.Type" />. </param>
  4255. <returns>A a predicate that determines whether or not a specific type
  4256. exists as a list of services in a container</returns>
  4257. </member>
  4258. <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.ExistsAsServiceArray(System.Type)">
  4259. <summary>
  4260. Generates a predicate that determines whether or not a specific type is actually
  4261. a list of services that can be created from a given container.
  4262. </summary>
  4263. <param name="parameterType">The target <see cref="T:System.Type" />. </param>
  4264. <returns>A a predicate that determines whether or not a specific type
  4265. exists as a list of services in a container</returns>
  4266. </member>
  4267. <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.ResolveArgumentsFrom(System.Reflection.MethodBase,LinFu.IoC.Interfaces.IServiceContainer)">
  4268. <summary>
  4269. Builds an argument list for the <paramref name="method" />
  4270. using the given <paramref name="container" /> instance.
  4271. </summary>
  4272. <param name="method">The method that will be used to instantiate an object instance.</param>
  4273. <param name="container">The container that will provide the method arguments.</param>
  4274. <returns>An array of objects to be used with the target method.</returns>
  4275. </member>
  4276. <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.ResolveFrom(LinFu.IoC.Configuration.Interfaces.IArgumentResolver,System.Reflection.MethodBase,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  4277. <summary>
  4278. Builds an argument list for the target <paramref name="method" /> from
  4279. services embedded inside the <paramref name="container" /> instance.
  4280. </summary>
  4281. <param name="resolver">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IArgumentResolver" /> instance that will determine the method arguments.</param>
  4282. <param name="method">The target method.</param>
  4283. <param name="container">The container that will provide the method arguments.</param>
  4284. <param name="additionalArguments">The additional arguments that will be passed to the target method.</param>
  4285. <returns>An array of objects to be used with the target method.</returns>
  4286. </member>
  4287. <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.Cast(System.Collections.IEnumerable,System.Type)">
  4288. <summary>
  4289. Casts an <see cref="T:System.Collections.IEnumerable" /> set of items into an array of
  4290. <paramref name="targetElementType" /> items.
  4291. </summary>
  4292. <param name="items">The items being converted.</param>
  4293. <param name="targetElementType">The element type of the resulting array.</param>
  4294. <returns>An array of items that match the <paramref name="targetElementType" />.</returns>
  4295. </member>
  4296. <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.Cast``1(System.Collections.IEnumerable)">
  4297. <summary>
  4298. Performs a strongly typed cast against an <see cref="T:System.Collections.IEnumerable" /> instance.
  4299. </summary>
  4300. <typeparam name="T">The target element type.</typeparam>
  4301. <param name="items">The list of items being converted.</param>
  4302. <returns>An array of items that match the <typeparamref name="T" /> element type.</returns>
  4303. </member>
  4304. <member name="T:LinFu.IoC.Configuration.Interfaces.IFactoryBuilder">
  4305. <summary>
  4306. Represents a class that can generate <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instances
  4307. from a given service type, implementing type, and lifecycle.
  4308. </summary>
  4309. </member>
  4310. <member name="M:LinFu.IoC.Configuration.Interfaces.IFactoryBuilder.CreateFactory(System.Type,System.Type,LinFu.IoC.Configuration.LifecycleType)">
  4311. <summary>
  4312. Generates a <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that can create the <paramref name="serviceType" />
  4313. using the <paramref name="implementingType" /> and <paramref name="lifecycle" /> model.
  4314. </summary>
  4315. <param name="serviceType">The service type that will be created by the factory.</param>
  4316. <param name="implementingType">The concrete type that will provide the implementation for the service type.</param>
  4317. <param name="lifecycle">The instancing behavior of the given service type.</param>
  4318. <returns>A valid <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</returns>
  4319. </member>
  4320. <member name="T:LinFu.IoC.Configuration.FactoryBuilder">
  4321. <summary>
  4322. The default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IFactoryBuilder" /> class.
  4323. </summary>
  4324. </member>
  4325. <member name="M:LinFu.IoC.Configuration.FactoryBuilder.CreateFactory(System.Type,System.Type,LinFu.IoC.Configuration.LifecycleType)">
  4326. <summary>
  4327. Creates a factory instance that can create instaces of the given
  4328. <paramref name="serviceType" /> using the <paramref name="implementingType" />
  4329. as the implementation.
  4330. </summary>
  4331. <param name="serviceType">The service being implemented.</param>
  4332. <param name="implementingType">The actual type that will implement the service.</param>
  4333. <param name="lifecycle">The <see cref="T:LinFu.IoC.Configuration.LifecycleType" /> that determines the lifetime of each instance being created.</param>
  4334. <returns>A valid <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</returns>
  4335. </member>
  4336. <member name="M:LinFu.IoC.Configuration.FactoryBuilder.CreateFactory(System.Type,System.Type,System.Type)">
  4337. <summary>
  4338. Creates a factory instance that can create instaces of the given
  4339. <paramref name="serviceType" /> using the <paramref name="actualType" />
  4340. as the implementation.
  4341. </summary>
  4342. <param name="serviceType">The service being implemented.</param>
  4343. <param name="actualType">The actual type that will implement the service.</param>
  4344. <param name="factoryType">The factory type that will instantiate the target service.</param>
  4345. <returns>A valid <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</returns>
  4346. </member>
  4347. <member name="M:LinFu.IoC.Configuration.FactoryBuilder.GetActualType(System.Type,System.Type)">
  4348. <summary>
  4349. Determines the implementing concrete type from the given <paramref name="serviceType" />.
  4350. </summary>
  4351. <param name="serviceType">The service type.</param>
  4352. <param name="implementingType">The concrete class that will implement the service type.</param>
  4353. <returns>The actual implementing type.</returns>
  4354. </member>
  4355. <member name="M:LinFu.IoC.Configuration.FactoryBuilder.CreateFactoryMethod(System.Type,System.Type)">
  4356. <summary>
  4357. A <c>private</c> method that creates the factory method delegate
  4358. for use with a particular factory class.
  4359. </summary>
  4360. <seealso cref="T:LinFu.IoC.Factories.SingletonFactory`1" />
  4361. <seealso cref="T:LinFu.IoC.Factories.OncePerRequestFactory`1" />
  4362. <seealso cref="T:LinFu.IoC.Factories.OncePerThreadFactory`1" />
  4363. <param name="serviceType">The service type being instantiated.</param>
  4364. <param name="implementingType">The type that will provide the implementation for the actual service.</param>
  4365. <returns>A factory method delegate that can create the given service.</returns>
  4366. </member>
  4367. <member name="M:LinFu.IoC.Configuration.FactoryBuilder.CreateFactoryMethodInternal``2">
  4368. <summary>
  4369. A method that generates the actual lambda function that creates
  4370. the new service instance.
  4371. </summary>
  4372. <typeparam name="TService">The service type being instantiated.</typeparam>
  4373. <typeparam name="TImplementation">The type that will provide the implementation for the actual service.</typeparam>
  4374. <returns>A strongly-typed factory method delegate that can create the given service.</returns>
  4375. </member>
  4376. <member name="T:LinFu.IoC.Configuration.BaseContext`1">
  4377. <summary>
  4378. Represents a class that provides the most basic information
  4379. for executing a fluent command against a
  4380. <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  4381. </summary>
  4382. <typeparam name="TService">
  4383. </typeparam>
  4384. </member>
  4385. <member name="P:LinFu.IoC.Configuration.BaseContext`1.ServiceType">
  4386. <summary>
  4387. The service type to be created.
  4388. </summary>
  4389. </member>
  4390. <member name="P:LinFu.IoC.Configuration.BaseContext`1.ServiceName">
  4391. <summary>
  4392. The name of the service to be created.
  4393. </summary>
  4394. </member>
  4395. <member name="P:LinFu.IoC.Configuration.BaseContext`1.Container">
  4396. <summary>
  4397. The actual <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  4398. that ultimately will hold the service instance.
  4399. </summary>
  4400. </member>
  4401. <member name="T:LinFu.IoC.Configuration.ActionContext`1">
  4402. <summary>
  4403. Represents the <c>internal</c> context class that will be used to
  4404. incrementally build enough information to initialize
  4405. a specific <typeparamref name="TService" /> type once
  4406. that service has been instantiated.
  4407. </summary>
  4408. <typeparam name="TService">The service type to be created.</typeparam>
  4409. </member>
  4410. <member name="P:LinFu.IoC.Configuration.ActionContext`1.Action">
  4411. <summary>
  4412. The action that will be performed on an <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  4413. instance once the fluent command executes.
  4414. </summary>
  4415. </member>
  4416. <member name="T:LinFu.IoC.Configuration.ActionPostProcessor`1">
  4417. <summary>
  4418. Represents a postprocessor that will execute
  4419. the action associated with the given <see cref="T:LinFu.IoC.Configuration.ActionContext`1" />
  4420. instance every time the target container returns a
  4421. service with particular service name and service type.
  4422. </summary>
  4423. <typeparam name="TService">
  4424. </typeparam>
  4425. </member>
  4426. <member name="T:LinFu.IoC.Configuration.IGenerateFactory`1">
  4427. <summary>
  4428. Represents a fluent class that allows
  4429. users to create specific types of factories.
  4430. </summary>
  4431. <typeparam name="TService">The type of service being created.</typeparam>
  4432. </member>
  4433. <member name="M:LinFu.IoC.Configuration.IGenerateFactory`1.AsSingleton">
  4434. <summary>
  4435. Creates a singleton factory.
  4436. </summary>
  4437. <seealso cref="T:LinFu.IoC.Factories.SingletonFactory`1" />
  4438. </member>
  4439. <member name="M:LinFu.IoC.Configuration.IGenerateFactory`1.OncePerThread">
  4440. <summary>
  4441. Creates a once per thread factory.
  4442. </summary>
  4443. <seealso cref="T:LinFu.IoC.Factories.OncePerThreadFactory`1" />
  4444. </member>
  4445. <member name="M:LinFu.IoC.Configuration.IGenerateFactory`1.OncePerRequest">
  4446. <summary>
  4447. Creates a once per request factory.
  4448. </summary>
  4449. <seealso cref="T:LinFu.IoC.Factories.OncePerRequestFactory`1" />
  4450. </member>
  4451. <member name="T:LinFu.IoC.Configuration.GenerateFactory`1">
  4452. <summary>
  4453. Represents a fluent class that allows
  4454. users to create specific types of factories.
  4455. </summary>
  4456. <typeparam name="TService">The type of service being created.</typeparam>
  4457. </member>
  4458. <member name="M:LinFu.IoC.Configuration.GenerateFactory`1.#ctor(LinFu.IoC.Configuration.InjectionContext{`0})">
  4459. <summary>
  4460. Instantiates the class using the given
  4461. <paramref name="context" />.
  4462. </summary>
  4463. <param name="context">The <see cref="T:LinFu.IoC.Configuration.InjectionContext`1" /> instance
  4464. which will contain the information necessary to build a fluent command.</param>
  4465. </member>
  4466. <member name="M:LinFu.IoC.Configuration.GenerateFactory`1.AsSingleton">
  4467. <summary>
  4468. Creates a singleton factory.
  4469. </summary>
  4470. <seealso cref="T:LinFu.IoC.Factories.SingletonFactory`1" />
  4471. </member>
  4472. <member name="M:LinFu.IoC.Configuration.GenerateFactory`1.OncePerThread">
  4473. <summary>
  4474. Creates a once per thread factory.
  4475. </summary>
  4476. <seealso cref="T:LinFu.IoC.Factories.OncePerThreadFactory`1" />
  4477. </member>
  4478. <member name="M:LinFu.IoC.Configuration.GenerateFactory`1.OncePerRequest">
  4479. <summary>
  4480. Creates a once per request factory.
  4481. </summary>
  4482. <seealso cref="T:LinFu.IoC.Factories.OncePerRequestFactory`1" />
  4483. </member>
  4484. <member name="M:LinFu.IoC.Configuration.GenerateFactory`1.AddFactory(System.Func{System.Func{LinFu.IoC.Interfaces.IFactoryRequest,`0},LinFu.IoC.Interfaces.IFactory{`0}})">
  4485. <summary>
  4486. Adds a factory to the container by using the
  4487. <paramref name="createFactory" /> delegate to
  4488. create the actual <see cref="T:LinFu.IoC.Interfaces.IFactory`1" />
  4489. instance.
  4490. </summary>
  4491. <param name="createFactory">The delegate that will create the actual factory instance.</param>
  4492. </member>
  4493. <member name="T:LinFu.IoC.Configuration.InjectionContext`1">
  4494. <summary>
  4495. Represents the <c>internal</c> context class that will be used to
  4496. incrementally build enough information to inject a specific
  4497. <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> instance into a container.
  4498. </summary>
  4499. <typeparam name="TService">The service type to be created.</typeparam>
  4500. </member>
  4501. <member name="P:LinFu.IoC.Configuration.InjectionContext`1.FactoryMethod">
  4502. <summary>
  4503. The factory method that will be used to
  4504. instantiate the actual <typeparamref name="TService" />
  4505. instance.
  4506. </summary>
  4507. </member>
  4508. <member name="T:LinFu.IoC.Configuration.Interfaces.IPropertyInjectionLambda`1">
  4509. <summary>
  4510. Represents a fluent class that creates
  4511. a method that initializes a <typeparamref name="TService" />
  4512. instance.
  4513. </summary>
  4514. <typeparam name="TService">The service type being instantiated.</typeparam>
  4515. </member>
  4516. <member name="M:LinFu.IoC.Configuration.Interfaces.IPropertyInjectionLambda`1.With(System.Action{`0})">
  4517. <summary>
  4518. Initializes service instances with the given
  4519. <paramref name="action" />.
  4520. </summary>
  4521. <param name="action">An <see cref="T:System.Action`1" /> delegate that will be used to initialize newly created services.</param>
  4522. </member>
  4523. <member name="M:LinFu.IoC.Configuration.Interfaces.IPropertyInjectionLambda`1.With(System.Action{LinFu.IoC.Interfaces.IServiceContainer,`0})">
  4524. <summary>
  4525. Uses an action delegate to initialize a given service using
  4526. the given <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> and <typeparamref name="TService" />
  4527. instances.
  4528. </summary>
  4529. <param name="action">An <see cref="T:System.Func`2" /> delegate that will be used to initialize newly created services.</param>
  4530. </member>
  4531. <member name="T:LinFu.IoC.Configuration.PropertyInjectionLambda`1">
  4532. <summary>
  4533. Represents a fluent class that creates
  4534. a method that initializes a <typeparamref name="TService" />
  4535. instance.
  4536. </summary>
  4537. <typeparam name="TService">The service type being instantiated.</typeparam>
  4538. </member>
  4539. <member name="M:LinFu.IoC.Configuration.PropertyInjectionLambda`1.#ctor(LinFu.IoC.Configuration.ActionContext{`0})">
  4540. <summary>
  4541. Initializes the class with the <paramref name="context" />.
  4542. </summary>
  4543. <param name="context">The context that will be associated with the target container.</param>
  4544. </member>
  4545. <member name="M:LinFu.IoC.Configuration.PropertyInjectionLambda`1.With(System.Action{`0})">
  4546. <summary>
  4547. Initializes service instances with the given
  4548. <paramref name="action" />.
  4549. </summary>
  4550. <param name="action">An <see cref="T:System.Action`1" /> delegate that will be used to initialize newly created services.</param>
  4551. </member>
  4552. <member name="M:LinFu.IoC.Configuration.PropertyInjectionLambda`1.With(System.Action{LinFu.IoC.Interfaces.IServiceContainer,`0})">
  4553. <summary>
  4554. Uses an action delegate to initialize a given service using
  4555. the given <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> and <typeparamref name="TService" />
  4556. instances.
  4557. </summary>
  4558. <param name="action">An <see cref="T:System.Func`2" /> delegate that will be used to initialize newly created services.</param>
  4559. </member>
  4560. <member name="M:LinFu.IoC.Configuration.PropertyInjectionLambda`1.AddPostProcessor(LinFu.IoC.Configuration.ActionContext{`0})">
  4561. <summary>
  4562. Attaches the action associated with the <see cref="T:LinFu.IoC.Configuration.ActionContext`1" />
  4563. instance to the target container embedded within the <see cref="T:LinFu.IoC.Configuration.ActionContext`1" />
  4564. class itself.
  4565. </summary>
  4566. <param name="context">The context that will be associated with the target container.</param>
  4567. </member>
  4568. <member name="T:LinFu.IoC.Configuration.IUsingLambda`1">
  4569. <summary>
  4570. Represents a fluent class that creates
  4571. a factory method that will be used
  4572. in instantiating a specific service instance.
  4573. </summary>
  4574. <typeparam name="TService">The service type being instantiated.</typeparam>
  4575. </member>
  4576. <member name="M:LinFu.IoC.Configuration.IUsingLambda`1.Using``1">
  4577. <summary>
  4578. Creates a service instance using the
  4579. concrete <typeparamref name="TConcrete" /> type
  4580. as the implementation for the <typeparamref name="TService" />
  4581. type.
  4582. </summary>
  4583. <typeparam name="TConcrete">The concrete implementation that implements <typeparamref name="TService" />. This class must have a default constructor.</typeparam>
  4584. <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>
  4585. </member>
  4586. <member name="M:LinFu.IoC.Configuration.IUsingLambda`1.Using(System.Func{LinFu.IoC.Interfaces.IServiceContainer,System.Object[],`0})">
  4587. <summary>
  4588. Creates a service instance using the
  4589. <paramref name="factoryMethod" /> to
  4590. instantiate the service instance
  4591. with a particular factory type.
  4592. </summary>
  4593. <seealso cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" />
  4594. <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
  4595. <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>
  4596. </member>
  4597. <member name="M:LinFu.IoC.Configuration.IUsingLambda`1.Using(System.Func{LinFu.IoC.Interfaces.IServiceContainer,`0})">
  4598. <summary>
  4599. Creates a service instance using the
  4600. <paramref name="factoryMethod" /> to
  4601. instantiate the service instance
  4602. with a particular factory type.
  4603. </summary>
  4604. <seealso cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" />
  4605. <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
  4606. <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>
  4607. </member>
  4608. <member name="M:LinFu.IoC.Configuration.IUsingLambda`1.Using(System.Func{`0})">
  4609. <summary>
  4610. Creates a service instance using the
  4611. <paramref name="factoryMethod" /> to
  4612. instantiate the service instance
  4613. with a particular factory type.
  4614. </summary>
  4615. <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
  4616. <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>
  4617. </member>
  4618. <member name="T:LinFu.IoC.Configuration.UsingLambda`1">
  4619. <summary>
  4620. Represents a fluent class that creates
  4621. a factory method that will be used
  4622. in instantiating a specific service instance.
  4623. </summary>
  4624. <typeparam name="TService">The service type being instantiated.</typeparam>
  4625. </member>
  4626. <member name="M:LinFu.IoC.Configuration.UsingLambda`1.#ctor(LinFu.IoC.Configuration.InjectionContext{`0})">
  4627. <summary>
  4628. Initializes the class using the given <paramref name="context" />.
  4629. </summary>
  4630. <param name="context">the <c>internal</c> context class that will be used to
  4631. incrementally build enough information to inject a specific
  4632. <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> instance into a container.</param>
  4633. </member>
  4634. <member name="M:LinFu.IoC.Configuration.UsingLambda`1.Using``1">
  4635. <summary>
  4636. Creates a service instance using the
  4637. concrete <typeparamref name="TConcrete" /> type
  4638. as the implementation for the <typeparamref name="TService" />
  4639. type.
  4640. </summary>
  4641. <typeparam name="TConcrete">The concrete implementation that implements <typeparamref name="TService" />. This class must have a default constructor.</typeparam>
  4642. <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>
  4643. </member>
  4644. <member name="M:LinFu.IoC.Configuration.UsingLambda`1.Using(System.Func{LinFu.IoC.Interfaces.IServiceContainer,System.Object[],`0})">
  4645. <summary>
  4646. Creates a service instance using the
  4647. <paramref name="factoryMethod" /> to
  4648. instantiate the service instance
  4649. with a particular factory type.
  4650. </summary>
  4651. <seealso cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" />
  4652. <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
  4653. <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>
  4654. </member>
  4655. <member name="M:LinFu.IoC.Configuration.UsingLambda`1.Using(System.Func{LinFu.IoC.Interfaces.IServiceContainer,`0})">
  4656. <summary>
  4657. Creates a service instance using the
  4658. <paramref name="factoryMethod" /> to
  4659. instantiate the service instance
  4660. with a particular factory type.
  4661. </summary>
  4662. <seealso cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" />
  4663. <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
  4664. <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>
  4665. </member>
  4666. <member name="M:LinFu.IoC.Configuration.UsingLambda`1.Using(System.Func{`0})">
  4667. <summary>
  4668. Creates a service instance using the
  4669. <paramref name="factoryMethod" /> to
  4670. instantiate the service instance
  4671. with a particular factory type.
  4672. </summary>
  4673. <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
  4674. <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>
  4675. </member>
  4676. <member name="T:LinFu.IoC.Configuration.Initializer`1">
  4677. <summary>
  4678. A class that initializes service instances that use
  4679. the <see cref="T:LinFu.Reflection.IInitialize`1" /> interface.
  4680. </summary>
  4681. </member>
  4682. <member name="M:LinFu.IoC.Configuration.Initializer`1.#ctor(System.Func{LinFu.IoC.Interfaces.IServiceRequestResult,`0})">
  4683. <summary>
  4684. Initializes the class with the given <paramref name="getSource" /> delegate.
  4685. </summary>
  4686. <param name="getSource">The functor that will obtain the object instance that will be used to initialize a given service.</param>
  4687. </member>
  4688. <member name="M:LinFu.IoC.Configuration.Initializer`1.PostProcess(LinFu.IoC.Interfaces.IServiceRequestResult)">
  4689. <summary>
  4690. Initializes every service that implements
  4691. the <see cref="T:LinFu.Reflection.IInitialize`1" /> interface.
  4692. </summary>
  4693. <param name="result">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> instance that contains the service instance to be initialized.</param>
  4694. </member>
  4695. <member name="M:LinFu.IoC.Configuration.Initializer`1.Initialize(LinFu.Reflection.IInitialize{`0},`0)">
  4696. <summary>
  4697. Initializes the <paramref name="target" /> with the given <paramref name="source" /> instance.
  4698. </summary>
  4699. <param name="target">The target to initialize.</param>
  4700. <param name="source">The instance that will be introduced to the <see cref="T:LinFu.Reflection.IInitialize`1" /> instance.</param>
  4701. </member>
  4702. <member name="T:LinFu.IoC.Configuration.Initializer">
  4703. <summary>
  4704. A class that initializes service instances that use
  4705. the <see cref="T:LinFu.IoC.Configuration.IInitialize" /> interface.
  4706. </summary>
  4707. </member>
  4708. <member name="M:LinFu.IoC.Configuration.Initializer.#ctor">
  4709. <summary>
  4710. Initializes the class with the default settings.
  4711. </summary>
  4712. </member>
  4713. <member name="T:LinFu.IoC.Configuration.InitializerPlugin">
  4714. <summary>
  4715. A class that injects the <see cref="T:LinFu.IoC.Configuration.Initializer" /> postprocessor
  4716. into every container that is created or loaded.
  4717. </summary>
  4718. </member>
  4719. <member name="M:LinFu.IoC.Configuration.InitializerPlugin.BeginLoad(LinFu.IoC.Interfaces.IServiceContainer)">
  4720. <summary>
  4721. This override does absolutely nothing.
  4722. </summary>
  4723. <param name="target">The target container.</param>
  4724. </member>
  4725. <member name="M:LinFu.IoC.Configuration.InitializerPlugin.EndLoad(LinFu.IoC.Interfaces.IServiceContainer)">
  4726. <summary>
  4727. Injects the <see cref="T:LinFu.IoC.Configuration.Initializer" /> postprocessor into
  4728. the container.
  4729. </summary>
  4730. <param name="target">
  4731. </param>
  4732. </member>
  4733. <member name="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1">
  4734. <summary>
  4735. An interface responsible for determining which methods
  4736. should be injected.
  4737. </summary>
  4738. </member>
  4739. <member name="M:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1.GetInjectableMembers(System.Type)">
  4740. <summary>
  4741. Returns the list of <see cref="T:System.Reflection.MethodBase" /> objects
  4742. that will be injected with arbitrary values.
  4743. </summary>
  4744. <param name="targetType">The target type that contains the target methods.</param>
  4745. <returns>A set of methods that describe which methods that will injected.</returns>
  4746. </member>
  4747. <member name="T:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1">
  4748. <summary>
  4749. Defines the basic behavior of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" /> interface.
  4750. </summary>
  4751. <typeparam name="TMember">The member type that will be filtered.</typeparam>
  4752. </member>
  4753. <member name="M:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  4754. <summary>
  4755. Initializes the <see cref="T:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1" /> class.
  4756. </summary>
  4757. <param name="source">The host container.</param>
  4758. </member>
  4759. <member name="M:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1.GetInjectableMembers(System.Type)">
  4760. <summary>
  4761. Returns the list of <typeparamref name="TMember" /> objects
  4762. whose setters will injected with arbitrary values.
  4763. </summary>
  4764. <remarks>This implementation selects properties that are marked with the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />.</remarks>
  4765. <param name="targetType">The target type that contains the target properties.</param>
  4766. <returns>A set of properties that describe which parameters should be injected.</returns>
  4767. </member>
  4768. <member name="M:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1.GetMembers(System.Type,LinFu.IoC.Interfaces.IServiceContainer)">
  4769. <summary>
  4770. Determines which members should be selected from the <paramref name="targetType" />
  4771. using the <paramref name="container" /></summary>
  4772. <param name="targetType">The target type that will supply the list of members that will be filtered.</param>
  4773. <param name="container">The target container.</param>
  4774. <returns>A list of <typeparamref name="TMember" /> objects that pass the filter description.</returns>
  4775. </member>
  4776. <member name="M:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1.Filter(LinFu.IoC.Interfaces.IServiceContainer,System.Collections.Generic.IEnumerable{`0})">
  4777. <summary>
  4778. Determines which items should be injected from the <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  4779. </summary>
  4780. <param name="container">The source container that will supply the values for the selected members.</param>
  4781. <param name="items">The list of properties that will be filtered.</param>
  4782. <returns>A list of properties that will be injected.</returns>
  4783. </member>
  4784. <member name="T:LinFu.IoC.Configuration.AttributedFieldInjectionFilter">
  4785. <summary>
  4786. A default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" />
  4787. class that returns fields which have the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />
  4788. defined.
  4789. </summary>
  4790. </member>
  4791. <member name="M:LinFu.IoC.Configuration.AttributedFieldInjectionFilter.#ctor">
  4792. <summary>
  4793. Initializes the class and uses the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />
  4794. to specify which field should be automatically injected with
  4795. services from the container.
  4796. </summary>
  4797. </member>
  4798. <member name="M:LinFu.IoC.Configuration.AttributedFieldInjectionFilter.#ctor(System.Type)">
  4799. <summary>
  4800. Initializes the class and uses the <paramref name="attributeType" />
  4801. to specify which fields should be automatically injected with
  4802. services from the container.
  4803. </summary>
  4804. <param name="attributeType">The custom property attribute that will be used to mark properties for automatic injection.</param>
  4805. </member>
  4806. <member name="M:LinFu.IoC.Configuration.AttributedFieldInjectionFilter.GetMembers(System.Type,LinFu.IoC.Interfaces.IServiceContainer)">
  4807. <summary>
  4808. Determines which members should be selected from the <paramref name="targetType" />
  4809. using the <paramref name="container" /></summary>
  4810. <param name="targetType">The target type that will supply the list of members that will be filtered.</param>
  4811. <param name="container">The target container.</param>
  4812. <returns>A list of <see cref="T:System.Reflection.FieldInfo" /> objects that pass the filter description.</returns>
  4813. </member>
  4814. <member name="T:LinFu.IoC.Configuration.AttributedMethodInjectionFilter">
  4815. <summary>
  4816. A default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" />
  4817. class that returns methods which have the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />
  4818. defined.
  4819. </summary>
  4820. </member>
  4821. <member name="M:LinFu.IoC.Configuration.AttributedMethodInjectionFilter.#ctor">
  4822. <summary>
  4823. Initializes the class with the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" /> as the
  4824. default injection attribute.
  4825. </summary>
  4826. </member>
  4827. <member name="M:LinFu.IoC.Configuration.AttributedMethodInjectionFilter.#ctor(System.Type)">
  4828. <summary>
  4829. Initializes the class and uses the <paramref name="attributeType" />
  4830. as the custom injection attribute.
  4831. </summary>
  4832. <param name="attributeType">
  4833. </param>
  4834. </member>
  4835. <member name="M:LinFu.IoC.Configuration.AttributedMethodInjectionFilter.GetMembers(System.Type,LinFu.IoC.Interfaces.IServiceContainer)">
  4836. <summary>
  4837. Returns the methods that have the custom attribute type defined.
  4838. </summary>
  4839. <param name="targetType">The target type that contains the target methods.</param>
  4840. <param name="container">The host container.</param>
  4841. <returns>The list of methods that have the custom attribute type defined.</returns>
  4842. </member>
  4843. <member name="T:LinFu.IoC.Configuration.AttributedPropertyInjectionFilter">
  4844. <summary>
  4845. A default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" />
  4846. class that returns properties which have the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />
  4847. defined.
  4848. </summary>
  4849. </member>
  4850. <member name="M:LinFu.IoC.Configuration.AttributedPropertyInjectionFilter.#ctor">
  4851. <summary>
  4852. Initializes the class and uses the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />
  4853. to specify which properties should be automatically injected with
  4854. services from the container.
  4855. </summary>
  4856. </member>
  4857. <member name="M:LinFu.IoC.Configuration.AttributedPropertyInjectionFilter.#ctor(System.Type)">
  4858. <summary>
  4859. Initializes the class and uses the <paramref name="attributeType" />
  4860. to specify which properties should be automatically injected with
  4861. services from the container.
  4862. </summary>
  4863. <param name="attributeType">The custom property attribute that will be used to mark properties for automatic injection.</param>
  4864. </member>
  4865. <member name="M:LinFu.IoC.Configuration.AttributedPropertyInjectionFilter.Filter(LinFu.IoC.Interfaces.IServiceContainer,System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo})">
  4866. <summary>
  4867. Determines which properties should be injected from the <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  4868. </summary>
  4869. <param name="container">The source container that will supply the property values for the selected properties.</param>
  4870. <param name="properties">The list of properties to be filtered.</param>
  4871. <returns>A list of properties that should be injected.</returns>
  4872. </member>
  4873. <member name="M:LinFu.IoC.Configuration.AttributedPropertyInjectionFilter.GetMembers(System.Type,LinFu.IoC.Interfaces.IServiceContainer)">
  4874. <summary>
  4875. Determines which members should be selected from the <paramref name="targetType" />
  4876. using the <paramref name="container" /></summary>
  4877. <param name="targetType">The target type that will supply the list of members that will be filtered.</param>
  4878. <param name="container">The target container.</param>
  4879. <returns>A list of <see cref="T:System.Reflection.PropertyInfo" /> objects that pass the filter description.</returns>
  4880. </member>
  4881. <member name="T:LinFu.IoC.Configuration.Interfaces.IContainerPlugin">
  4882. <summary>
  4883. Represents an alias interface used for backward compatibility with LinFu IoC 1.0
  4884. </summary>
  4885. </member>
  4886. <member name="T:LinFu.IoC.Configuration.AutoMemberInjector`1">
  4887. <summary>
  4888. The base class that defines the behavior for automatically injecting service
  4889. instances into type member instances.
  4890. </summary>
  4891. <typeparam name="TMember">
  4892. </typeparam>
  4893. </member>
  4894. <member name="M:LinFu.IoC.Configuration.AutoMemberInjector`1.BeginLoad(LinFu.IoC.Interfaces.IServiceContainer)">
  4895. <summary>
  4896. Does absolutely nothing.
  4897. </summary>
  4898. <param name="target">The target container.</param>
  4899. </member>
  4900. <member name="M:LinFu.IoC.Configuration.AutoMemberInjector`1.EndLoad(LinFu.IoC.Interfaces.IServiceContainer)">
  4901. <summary>
  4902. Inserts the <see cref="T:LinFu.IoC.Configuration.AutoPropertyInjector" /> class at the end
  4903. of the PostProcessor chain.
  4904. </summary>
  4905. <param name="target">The target container.</param>
  4906. </member>
  4907. <member name="M:LinFu.IoC.Configuration.AutoMemberInjector`1.PostProcess(LinFu.IoC.Interfaces.IServiceRequestResult)">
  4908. <summary>
  4909. Automatically injects service instances
  4910. into properties as soon as they are initialized.
  4911. </summary>
  4912. <param name="result">The service request result that contains the service whose members will be injected with service instances.</param>
  4913. </member>
  4914. <member name="M:LinFu.IoC.Configuration.AutoMemberInjector`1.Inject(System.Object,`0,LinFu.IoC.Configuration.Interfaces.IArgumentResolver,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  4915. <summary>
  4916. Injects services from the <paramref name="container" /> into the target <paramref name="member" /> instance.
  4917. </summary>
  4918. <param name="target">The target object.</param>
  4919. <param name="member">The <typeparamref name="TMember" /> instance that will store the service instance.</param>
  4920. <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>
  4921. <param name="additionalArguments">The additional arguments that were passed to the <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> during the instantiation process.</param>
  4922. <param name="container">The container that will provide the service instances.</param>
  4923. </member>
  4924. <member name="M:LinFu.IoC.Configuration.AutoMemberInjector`1.AutoInject(LinFu.IoC.Interfaces.IServiceRequestResult)">
  4925. <summary>
  4926. Injects a member service dependency into a target service instance.
  4927. </summary>
  4928. <param name="result">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> that will be processed for injection.</param>
  4929. </member>
  4930. <member name="T:LinFu.IoC.Configuration.AutoFieldInjector">
  4931. <summary>
  4932. A class that automatically injects fields using values
  4933. provided by an <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  4934. </summary>
  4935. </member>
  4936. <member name="M:LinFu.IoC.Configuration.AutoFieldInjector.Inject(System.Object,System.Reflection.FieldInfo,LinFu.IoC.Configuration.Interfaces.IArgumentResolver,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  4937. <summary>
  4938. Injects a field with values from a given container.
  4939. </summary>
  4940. <param name="target">The target object.</param>
  4941. <param name="member">The <see cref="T:System.Reflection.FieldInfo" /> instance that will store the service instance.</param>
  4942. <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>
  4943. <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>
  4944. <param name="container">The container that will provide the service instances.</param>
  4945. </member>
  4946. <member name="T:LinFu.IoC.Configuration.AutoMethodInjector">
  4947. <summary>
  4948. A class that automatically invokes methods using arguments
  4949. derived from existing instances from within a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  4950. instance.
  4951. </summary>
  4952. </member>
  4953. <member name="M:LinFu.IoC.Configuration.AutoMethodInjector.Inject(System.Object,System.Reflection.MethodInfo,LinFu.IoC.Configuration.Interfaces.IArgumentResolver,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  4954. <summary>
  4955. Injects services from the <paramref name="container" /> into the target <see cref="T:System.Reflection.MethodInfo" /> instance.
  4956. </summary>
  4957. <param name="target">The target object.</param>
  4958. <param name="method">The <see cref="T:System.Reflection.MethodInfo" /> instance that will store the service instance.</param>
  4959. <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>
  4960. <param name="additionalArguments">The additional arguments that were passed to the <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> during the instantiation process.</param>
  4961. <param name="container">The container that will provide the service instances.</param>
  4962. </member>
  4963. <member name="T:LinFu.IoC.Configuration.AutoPropertyInjector">
  4964. <summary>
  4965. A class that automatically injects property dependencies into
  4966. service instances.
  4967. </summary>
  4968. </member>
  4969. <member name="M:LinFu.IoC.Configuration.AutoPropertyInjector.Inject(System.Object,System.Reflection.PropertyInfo,LinFu.IoC.Configuration.Interfaces.IArgumentResolver,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  4970. <summary>
  4971. Injects services from the <paramref name="container" /> into the target <see cref="T:System.Reflection.PropertyInfo" /> instance.
  4972. </summary>
  4973. <param name="target">The target object.</param>
  4974. <param name="property">The <see cref="T:System.Reflection.PropertyInfo" /> instance that will store the service instance.</param>
  4975. <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>
  4976. <param name="additionalArguments">The additional arguments that were passed to the <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> during the instantiation process.</param>
  4977. <param name="container">The container that will provide the service instances.</param>
  4978. </member>
  4979. <member name="T:LinFu.IoC.Configuration.Injectors.CustomFactoryInjector">
  4980. <summary>
  4981. A class that injects unnamed custom <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instances into a given
  4982. service container.
  4983. </summary>
  4984. </member>
  4985. <member name="M:LinFu.IoC.Configuration.Injectors.CustomFactoryInjector.#ctor(System.Type,LinFu.IoC.Interfaces.IFactory)">
  4986. <summary>
  4987. Initializes the class with the given service type and factory.
  4988. </summary>
  4989. <param name="serviceType">The service type that will be created by the factory.</param>
  4990. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be used to create the service instance.</param>
  4991. </member>
  4992. <member name="M:LinFu.IoC.Configuration.Injectors.CustomFactoryInjector.Preprocess(LinFu.IoC.Interfaces.IServiceRequest)">
  4993. <summary>
  4994. Injects the given factory into the target container.
  4995. </summary>
  4996. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequest" /> instance that describes the service that is currently being requested.</param>
  4997. </member>
  4998. <member name="T:LinFu.IoC.Configuration.Injectors.NullMemberInjectionFilter`1">
  4999. <summary>
  5000. Represents a type of <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" />
  5001. that always returns an empty match.
  5002. </summary>
  5003. </member>
  5004. <member name="M:LinFu.IoC.Configuration.Injectors.NullMemberInjectionFilter`1.GetInjectableMembers(System.Type)">
  5005. <summary>
  5006. Always returns an empty list of injectable members.
  5007. </summary>
  5008. <param name="targetType">The type to be injected.</param>
  5009. <returns>An empty list.</returns>
  5010. </member>
  5011. <member name="T:LinFu.IoC.Configuration.PropertyInjectionFilter">
  5012. <summary>
  5013. An <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" /> implementation
  5014. that automatically selects properties whose property types
  5015. currently exist in the target container.
  5016. </summary>
  5017. </member>
  5018. <member name="M:LinFu.IoC.Configuration.PropertyInjectionFilter.GetMembers(System.Type,LinFu.IoC.Interfaces.IServiceContainer)">
  5019. <summary>
  5020. Determines which members should be selected from the <paramref name="targetType" />
  5021. using the <paramref name="container" /></summary>
  5022. <param name="targetType">The target type that will supply the list of members that will be filtered.</param>
  5023. <param name="container">The target container.</param>
  5024. <returns>A list of <see cref="T:System.Reflection.PropertyInfo" /> objects that pass the filter description.</returns>
  5025. </member>
  5026. <member name="T:LinFu.IoC.Configuration.InMemoryAssemblyLoader">
  5027. <summary>
  5028. An assembly loader that returns an existing
  5029. <see cref="T:System.Reflection.Assembly" /> from memory.
  5030. </summary>
  5031. </member>
  5032. <member name="M:LinFu.IoC.Configuration.InMemoryAssemblyLoader.#ctor(System.Reflection.Assembly)">
  5033. <summary>
  5034. Initializes the class with an existing
  5035. <see cref="T:System.Reflection.Assembly" />.
  5036. </summary>
  5037. <param name="targetAssembly">The target assembly.</param>
  5038. </member>
  5039. <member name="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext">
  5040. <summary>
  5041. Represents the data associated with a <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinder`1" /> search.
  5042. </summary>
  5043. </member>
  5044. <member name="P:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext.TypeArguments">
  5045. <summary>
  5046. Gets or sets the value indicating the type arguments that will be passed to the target method.
  5047. </summary>
  5048. </member>
  5049. <member name="P:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext.Arguments">
  5050. <summary>
  5051. Gets or sets the value indicating the list of arguments that will be passed to the target method.
  5052. </summary>
  5053. </member>
  5054. <member name="P:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext.ReturnType">
  5055. <summary>
  5056. Gets or sets the value indicating the <see cref="T:System.Type">return type</see> of the target method.
  5057. </summary>
  5058. </member>
  5059. <member name="T:LinFu.IoC.Configuration.Interfaces.IMethodFinder`1">
  5060. <summary>
  5061. Represents a class that determines which method best matches the
  5062. services currently in the target container.
  5063. </summary>
  5064. <typeparam name="T">The method type to search.</typeparam>
  5065. </member>
  5066. <member name="M:LinFu.IoC.Configuration.Interfaces.IMethodFinder`1.GetBestMatch(System.Collections.Generic.IEnumerable{`0},LinFu.IoC.Configuration.Interfaces.IMethodFinderContext)">
  5067. <summary>
  5068. Determines which method best matches the
  5069. services currently in the target container.
  5070. </summary>
  5071. <param name="items">The list of methods to search.</param>
  5072. <param name="finderContext">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext" /> that describes the target method.</param>
  5073. <returns>Returns the method with the most resolvable parameters from the target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</returns>
  5074. </member>
  5075. <member name="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderWithContainer`1">
  5076. <summary>
  5077. Represents a method finder that uses a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance
  5078. during its method searches.
  5079. </summary>
  5080. <typeparam name="TMethod">
  5081. </typeparam>
  5082. </member>
  5083. <member name="P:LinFu.IoC.Configuration.Interfaces.IMethodFinderWithContainer`1.Container">
  5084. <summary>
  5085. Gets the value indicating the service container that will be used in the
  5086. method search.
  5087. </summary>
  5088. </member>
  5089. <member name="T:LinFu.IoC.Configuration.AssemblyContainerLoader">
  5090. <summary>
  5091. Represents a class that loads configuration information
  5092. from a given assembly.
  5093. </summary>
  5094. </member>
  5095. <member name="T:LinFu.IoC.Configuration.ITypeLoader">
  5096. <summary>
  5097. Generates one or more <see cref="T:System.Action`1" /> instances
  5098. from a given source type so that it can be used
  5099. against an <see cref="T:LinFu.IoC.Interfaces.IContainer" /> instance.
  5100. </summary>
  5101. </member>
  5102. <member name="T:LinFu.IoC.Configuration.FactoryAttributeLoader">
  5103. <summary>
  5104. A class that injects custom <see cref="T:LinFu.IoC.Interfaces.IFactory" /> and <see cref="T:LinFu.IoC.Interfaces.IFactory`1" />
  5105. instances into an <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  5106. </summary>
  5107. </member>
  5108. <member name="M:LinFu.IoC.Configuration.FactoryAttributeLoader.Load(System.Type)">
  5109. <summary>
  5110. Loads an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> and <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> instance
  5111. into a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance using the given
  5112. <paramref name="sourceType" />.
  5113. </summary>
  5114. <param name="sourceType">The input type from which one or more factories will be created.</param>
  5115. <returns>A set of <see cref="T:System.Action`1" /> instances. This cannot be null.</returns>
  5116. </member>
  5117. <member name="M:LinFu.IoC.Configuration.FactoryAttributeLoader.CanLoad(System.Type)">
  5118. <summary>
  5119. Determines whether or not the current <paramref name="sourceType" />
  5120. can be loaded.
  5121. </summary>
  5122. <param name="sourceType">The source type currently being loaded.</param>
  5123. <returns>Returns <c>true</c> if the type is a class type; otherwise, it returns <c>false</c>.</returns>
  5124. </member>
  5125. <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})">
  5126. <summary>
  5127. Instantiates the <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instances associated with the <paramref name="sourceType" /> and
  5128. adds those factories to the target container upon initialization.
  5129. </summary>
  5130. <param name="sourceType">The <see cref="T:System.Type" /> currently being inspected.</param>
  5131. <param name="attributeList">The list of <see cref="T:LinFu.IoC.Configuration.FactoryAttribute" /> instances currently declared on on the source type.</param>
  5132. <param name="getFactoryInstance">The functor that will be responsible for generating the factory instance.</param>
  5133. <returns>A list of actions that will add the factories to the target container.</returns>
  5134. </member>
  5135. <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})">
  5136. <summary>
  5137. Instantiates the given factory using the <paramref name="getStronglyTypedFactory">factory functor.</paramref></summary>
  5138. <param name="currentServiceType">The service type that will be created by the factory.</param>
  5139. <param name="getStronglyTypedFactory">The functor that will be responsible for creating the factory itself.</param>
  5140. <param name="implementedInterfaces">The list of <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> interfaces that are implemented by the source type.</param>
  5141. <returns>A valid factory instance.</returns>
  5142. </member>
  5143. <member name="T:LinFu.IoC.Configuration.Loaders.ImplementsAttributeLoader">
  5144. <summary>
  5145. A loader class that scans a type for <see cref="T:LinFu.IoC.Configuration.ImplementsAttribute" />
  5146. attribute declarations and creates a factory for each corresponding
  5147. attribute instance.
  5148. </summary>
  5149. <seealso cref="T:LinFu.IoC.Interfaces.IFactory" />
  5150. </member>
  5151. <member name="M:LinFu.IoC.Configuration.Loaders.ImplementsAttributeLoader.Load(System.Type)">
  5152. <summary>
  5153. Converts a given <see cref="T:System.Type" /> into
  5154. a set of <see cref="T:System.Action`1" /> instances so that
  5155. the <see cref="T:LinFu.IoC.Interfaces.IContainer" /> instance can be loaded
  5156. with the given factories.
  5157. </summary>
  5158. <param name="sourceType">The input type from which one or more factories will be created.</param>
  5159. <returns>A set of <see cref="T:System.Action`1" /> instances. This cannot be null.</returns>
  5160. </member>
  5161. <member name="M:LinFu.IoC.Configuration.Loaders.ImplementsAttributeLoader.CanLoad(System.Type)">
  5162. <summary>
  5163. Determines whether or not the current <paramref name="sourceType" />
  5164. can be loaded.
  5165. </summary>
  5166. <param name="sourceType">The source type currently being loaded.</param>
  5167. <returns>Returns <c>true</c> if the type is a class type; otherwise, it returns <c>false</c>.</returns>
  5168. </member>
  5169. <member name="M:LinFu.IoC.Configuration.Loaders.ImplementsAttributeLoader.CreateFactory(System.Type,System.Type,LinFu.IoC.Configuration.LifecycleType)">
  5170. <summary>
  5171. Creates a factory instance that can create instaces of the given
  5172. <paramref name="serviceType" /> using the <paramref name="implementingType" />
  5173. as the implementation.
  5174. </summary>
  5175. <param name="serviceType">The service being implemented.</param>
  5176. <param name="implementingType">The actual type that will implement the service.</param>
  5177. <param name="lifecycle">The <see cref="T:LinFu.IoC.Configuration.LifecycleType" /> that determines the lifetime of each instance being created.</param>
  5178. <returns>A valid <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</returns>
  5179. </member>
  5180. <member name="T:LinFu.IoC.Configuration.Loader">
  5181. <summary>
  5182. Represents a class that can dynamically configure
  5183. <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instances at runtime.
  5184. </summary>
  5185. </member>
  5186. <member name="M:LinFu.IoC.Configuration.Loader.#ctor">
  5187. <summary>
  5188. Initializes the loader using the default values.
  5189. </summary>
  5190. </member>
  5191. <member name="P:LinFu.IoC.Configuration.Loader.AssemblyLoader">
  5192. <summary>
  5193. Gets or sets the value indicating the <see cref="T:LinFu.Reflection.IAssemblyLoader" /> instance
  5194. that will be used to load assemblies into memory.
  5195. </summary>
  5196. </member>
  5197. <member name="T:LinFu.IoC.Configuration.Loaders.PostProcessorLoader">
  5198. <summary>
  5199. A class that automatically loads <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" />
  5200. instances and configures a loader to inject those postprocessors
  5201. into a container upon initialization.
  5202. </summary>
  5203. </member>
  5204. <member name="M:LinFu.IoC.Configuration.Loaders.PostProcessorLoader.CanLoad(System.Type)">
  5205. <summary>
  5206. Determines if the plugin loader can load the <paramref name="inputType" />.
  5207. </summary>
  5208. <remarks>The target type must implement the <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> interface before it can be loaded into memory.</remarks>
  5209. <param name="inputType">The target type that might contain the target instance.</param>
  5210. <returns>
  5211. <c>true</c> if the type can be loaded; otherwise, it returns <c>false</c>.</returns>
  5212. </member>
  5213. <member name="M:LinFu.IoC.Configuration.Loaders.PostProcessorLoader.Load(System.Type)">
  5214. <summary>
  5215. Loads a set of <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> instances
  5216. so that they can be loaded into a container upon initialization.
  5217. </summary>
  5218. <param name="inputType">The type that will be used to configure the target loader.</param>
  5219. <returns>A set of <see cref="T:System.Action`1" /> instances. This cannot be <c>null</c>.</returns>
  5220. </member>
  5221. <member name="T:LinFu.IoC.Configuration.Loaders.PreProcessorLoader">
  5222. <summary>
  5223. A class that automatically loads <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" />
  5224. instances and configures a loader to inject those postprocessors
  5225. into a container upon initialization.
  5226. </summary>
  5227. </member>
  5228. <member name="M:LinFu.IoC.Configuration.Loaders.PreProcessorLoader.CanLoad(System.Type)">
  5229. <summary>
  5230. Determines if the plugin loader can load the <paramref name="inputType" />.
  5231. </summary>
  5232. <remarks>The target type must implement the <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" /> interface before it can be loaded into memory.</remarks>
  5233. <param name="inputType">The target type that might contain the target instance.</param>
  5234. <returns>
  5235. <c>true</c> if the type can be loaded; otherwise, it returns <c>false</c>.</returns>
  5236. </member>
  5237. <member name="M:LinFu.IoC.Configuration.Loaders.PreProcessorLoader.Load(System.Type)">
  5238. <summary>
  5239. Loads a set of <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" /> instances
  5240. so that they can be loaded into a container upon initialization.
  5241. </summary>
  5242. <param name="inputType">The type that will be used to configure the target loader.</param>
  5243. <returns>A set of <see cref="T:System.Action`1" /> instances. This cannot be <c>null</c>.</returns>
  5244. </member>
  5245. <member name="T:LinFu.IoC.Configuration.MethodBuilder">
  5246. <summary>
  5247. A class that dynamically generates calls to a <see cref="T:System.Reflection.MethodInfo" /> instance.
  5248. </summary>
  5249. </member>
  5250. <member name="M:LinFu.IoC.Configuration.MethodBuilder.PushInstance(System.Reflection.Emit.ILGenerator,System.Reflection.MethodInfo)">
  5251. <summary>
  5252. Pushes the method target onto the evaluation stack.
  5253. </summary>
  5254. <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the method body.</param>
  5255. <param name="method">The target method.</param>
  5256. </member>
  5257. <member name="M:LinFu.IoC.Configuration.MethodBuilder.PushMethodArguments(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase)">
  5258. <summary>
  5259. Pushes the method arguments onto the stack.
  5260. </summary>
  5261. <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the target method body.</param>
  5262. <param name="targetMethod">The target method that will be invoked.</param>
  5263. </member>
  5264. <member name="M:LinFu.IoC.Configuration.MethodBuilder.GetReturnType(System.Reflection.MethodInfo)">
  5265. <summary>
  5266. Determines the return type from the target <paramref name="method" />.
  5267. </summary>
  5268. <param name="method">The target method itself.</param>
  5269. <returns>The method return type.</returns>
  5270. </member>
  5271. <member name="M:LinFu.IoC.Configuration.MethodBuilder.GetParameterList(System.Reflection.MethodInfo,System.Type[])">
  5272. <summary>
  5273. Determines the parameter types of the dynamically generated method.
  5274. </summary>
  5275. <param name="existingMethod">The target method.</param>
  5276. <param name="parameterTypes">The target method argument types.</param>
  5277. <returns>The list of <see cref="T:System.Type" /> objects that describe the signature of the method to generate.</returns>
  5278. <remarks>This override will add an additional parameter type to accomodate the method target.</remarks>
  5279. </member>
  5280. <member name="M:LinFu.IoC.Configuration.MethodBuilder.EmitCall(System.Reflection.Emit.ILGenerator,System.Reflection.MethodInfo)">
  5281. <summary>
  5282. Emits the instruction to call the target <paramref name="method" /></summary>
  5283. <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the target method body.</param>
  5284. <param name="method">The method that will be invoked.</param>
  5285. </member>
  5286. <member name="T:LinFu.IoC.Configuration.BaseMethodInvoke`1">
  5287. <summary>
  5288. Represents the default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodInvoke`1" /> interface.
  5289. </summary>
  5290. </member>
  5291. <member name="M:LinFu.IoC.Configuration.BaseMethodInvoke`1.#ctor">
  5292. <summary>
  5293. Initializes the class with the default values.
  5294. </summary>
  5295. </member>
  5296. <member name="M:LinFu.IoC.Configuration.BaseMethodInvoke`1.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  5297. <summary>
  5298. Initializes the class with the <paramref name="source">source service container.</paramref></summary>
  5299. <param name="source">The <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance that will initialize this class.</param>
  5300. </member>
  5301. <member name="M:LinFu.IoC.Configuration.BaseMethodInvoke`1.Invoke(System.Object,`0,System.Object[])">
  5302. <summary>
  5303. Instantiates an object instance with the <paramref name="targetMethod" />
  5304. and <paramref name="arguments" />.
  5305. </summary>
  5306. <param name="target">The target object reference. In this particular case, this parameter will be ignored.</param>
  5307. <param name="targetMethod">The target method.</param>
  5308. <param name="arguments">The arguments to be used with the method.</param>
  5309. <returns>An object reference that represents the method return value.</returns>
  5310. </member>
  5311. <member name="M:LinFu.IoC.Configuration.BaseMethodInvoke`1.DoInvoke(System.Object,`0,System.Reflection.MethodBase,System.Object[])">
  5312. <summary>
  5313. Invokes the <paramref name="targetMethod" /> with the given <paramref name="arguments" />.
  5314. </summary>
  5315. <param name="target">The target instance.</param>
  5316. <param name="originalMethod">The original method that describes the target method.</param>
  5317. <param name="targetMethod">The actual method that will be invoked.</param>
  5318. <param name="arguments">The method arguments.</param>
  5319. <returns>The return value from the target method.</returns>
  5320. </member>
  5321. <member name="M:LinFu.IoC.Configuration.BaseMethodInvoke`1.GenerateTargetMethod(`0)">
  5322. <summary>
  5323. Creates a <see cref="T:System.Reflection.Emit.DynamicMethod" /> that will be used as the
  5324. factory method and stores it in the method cache.
  5325. </summary>
  5326. <param name="targetMethod">The constructor that will be used to instantiate the target type.</param>
  5327. </member>
  5328. <member name="P:LinFu.IoC.Configuration.BaseMethodInvoke`1.MethodBuilder">
  5329. <summary>
  5330. Gets or sets the value indicating the method builder that will be used to
  5331. create the target method.
  5332. </summary>
  5333. </member>
  5334. <member name="T:LinFu.IoC.Configuration.MethodFinderContext">
  5335. <summary>
  5336. Represents the data associated with a <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinder`1" /> search.
  5337. </summary>
  5338. </member>
  5339. <member name="M:LinFu.IoC.Configuration.MethodFinderContext.#ctor(System.Object[])">
  5340. <summary>
  5341. Initializes the context with the default values.
  5342. </summary>
  5343. <param name="arguments">The list of arguments that will be passed to the target method.</param>
  5344. </member>
  5345. <member name="M:LinFu.IoC.Configuration.MethodFinderContext.#ctor(System.Collections.Generic.IEnumerable{System.Type},System.Collections.Generic.IEnumerable{System.Object},System.Type)">
  5346. <summary>
  5347. Initializes the context with the default values.
  5348. </summary>
  5349. <param name="typeArguments">The type arguments that will be used to construct the target method.</param>
  5350. <param name="arguments">The list of arguments that will be passed to the target method.</param>
  5351. <param name="returnType">The type that must be returned by the target method.</param>
  5352. </member>
  5353. <member name="P:LinFu.IoC.Configuration.MethodFinderContext.TypeArguments">
  5354. <summary>
  5355. Gets or sets the value indicating the type arguments that will be passed to the target method.
  5356. </summary>
  5357. </member>
  5358. <member name="P:LinFu.IoC.Configuration.MethodFinderContext.Arguments">
  5359. <summary>
  5360. Gets or sets the value indicating the list of arguments that will be passed to the target method.
  5361. </summary>
  5362. </member>
  5363. <member name="P:LinFu.IoC.Configuration.MethodFinderContext.ReturnType">
  5364. <summary>
  5365. Gets or sets the value indicating the <see cref="T:System.Type">return type</see> of the target method.
  5366. </summary>
  5367. </member>
  5368. <member name="T:LinFu.IoC.Configuration.MethodInvoke">
  5369. <summary>
  5370. A class that invokes methods.
  5371. </summary>
  5372. </member>
  5373. <member name="M:LinFu.IoC.Configuration.MethodInvoke.#ctor">
  5374. <summary>
  5375. Initializes the class with the default values.
  5376. </summary>
  5377. </member>
  5378. <member name="M:LinFu.IoC.Configuration.MethodInvoke.DoInvoke(System.Object,System.Reflection.MethodInfo,System.Reflection.MethodBase,System.Object[])">
  5379. <summary>
  5380. Invokes the <paramref name="targetMethod" /> with the given <paramref name="arguments" />.
  5381. </summary>
  5382. <param name="target">The target instance.</param>
  5383. <param name="originalMethod">The original method that describes the target method.</param>
  5384. <param name="targetMethod">The actual method that will be invoked.</param>
  5385. <param name="arguments">The method arguments.</param>
  5386. <returns>The return value from the target method.</returns>
  5387. </member>
  5388. <member name="T:LinFu.IoC.Configuration.Interfaces.IPropertySetter">
  5389. <summary>
  5390. A class responsible for setting property values.
  5391. </summary>
  5392. </member>
  5393. <member name="M:LinFu.IoC.Configuration.Interfaces.IPropertySetter.Set(System.Object,System.Reflection.PropertyInfo,System.Object)">
  5394. <summary>
  5395. Sets the value of the <paramref name="targetProperty" />.
  5396. </summary>
  5397. /// <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>
  5398. <member name="T:LinFu.IoC.Configuration.PropertySetter">
  5399. <summary>
  5400. A class responsible for setting property values.
  5401. </summary>
  5402. </member>
  5403. <member name="M:LinFu.IoC.Configuration.PropertySetter.Set(System.Object,System.Reflection.PropertyInfo,System.Object)">
  5404. <summary>
  5405. Sets the value of the <paramref name="targetProperty" />.
  5406. </summary>
  5407. <param name="target">The target instance that contains the property to be modified.</param>
  5408. <param name="targetProperty">The property that will store the given value.</param>
  5409. <param name="value">The value that will be assigned to the property.</param>
  5410. </member>
  5411. <member name="M:LinFu.IoC.Configuration.PropertySetter.GenerateSetter(System.Reflection.PropertyInfo)">
  5412. <summary>
  5413. Generates an <see cref="T:System.Action`2" /> delegate that will be used
  5414. as the property setter for a particular type.
  5415. </summary>
  5416. <param name="targetProperty">The property that will be modified.</param>
  5417. <returns>A property setter.</returns>
  5418. </member>
  5419. <member name="T:LinFu.IoC.Configuration.RecursiveDependencyException">
  5420. <summary>
  5421. The exception thrown when a recursive dependency is detected
  5422. inside a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  5423. </summary>
  5424. </member>
  5425. <member name="M:LinFu.IoC.Configuration.RecursiveDependencyException.#ctor(System.Collections.Generic.LinkedList{System.Type})">
  5426. <summary>
  5427. Initializes the <see cref="T:LinFu.IoC.Configuration.RecursiveDependencyException" />
  5428. class with the <paramref name="typeChain">chain</paramref>
  5429. of depedencies that caused the exception.
  5430. </summary>
  5431. <param name="typeChain">The sequence of types that caused the dependency exception.</param>
  5432. </member>
  5433. <member name="P:LinFu.IoC.Configuration.RecursiveDependencyException.TypeChain">
  5434. <summary>
  5435. Gets the value indicating the chain of types that caused the exception.
  5436. </summary>
  5437. </member>
  5438. <member name="P:LinFu.IoC.Configuration.RecursiveDependencyException.Message">
  5439. <summary>
  5440. Gets the value indicating the error message from the <see cref="T:LinFu.IoC.Configuration.RecursiveDependencyException" />.
  5441. </summary>
  5442. </member>
  5443. <member name="T:LinFu.IoC.Configuration.ReflectionMethodBuilder`1">
  5444. <summary>
  5445. Represents a <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodBuilder`1" /> type that simply lets
  5446. methods pass through it without performing any modifications to those methods.
  5447. </summary>
  5448. </member>
  5449. <member name="M:LinFu.IoC.Configuration.ReflectionMethodBuilder`1.CreateMethod(`0)">
  5450. <summary>
  5451. Returns the <paramref name="existingMethod" /> unmodified.
  5452. </summary>
  5453. <param name="existingMethod">The method to be modified.</param>
  5454. <returns>The modified method.</returns>
  5455. </member>
  5456. <member name="T:LinFu.IoC.Configuration.Interfaces.IArgumentResolver">
  5457. <summary>
  5458. Represents a type that can generate method arguments
  5459. from an existing <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  5460. </summary>
  5461. </member>
  5462. <member name="M:LinFu.IoC.Configuration.Interfaces.IArgumentResolver.ResolveFrom(System.Collections.Generic.IEnumerable{LinFu.IoC.Configuration.Interfaces.INamedType},LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  5463. <summary>
  5464. Generates constructor arguments from the given <paramref name="parameterTypes" />
  5465. and <paramref name="container" />.
  5466. </summary>
  5467. <param name="parameterTypes">The parameter types for the target method.</param>
  5468. <param name="container">The container that will provide the method arguments.</param>
  5469. <param name="additionalArguments">The additional arguments that will be passed to the target method.</param>
  5470. <returns>An array of objects that represent the arguments to be passed to the target method.</returns>
  5471. </member>
  5472. <member name="T:LinFu.IoC.Configuration.ArgumentResolver">
  5473. <summary>
  5474. Represents the default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IArgumentResolver" /> class.
  5475. </summary>
  5476. </member>
  5477. <member name="M:LinFu.IoC.Configuration.ArgumentResolver.ResolveFrom(System.Collections.Generic.IEnumerable{LinFu.IoC.Configuration.Interfaces.INamedType},LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  5478. <summary>
  5479. Generates method arguments from the given <paramref name="parameterTypes" />
  5480. and <paramref name="container" />.
  5481. </summary>
  5482. <param name="parameterTypes">The parameter types for the target method.</param>
  5483. <param name="container">The container that will provide the method arguments.</param>
  5484. <param name="additionalArguments">The additional arguments that will be passed to the target method.</param>
  5485. <returns>An array of objects that represent the arguments to be passed to the target method.</returns>
  5486. </member>
  5487. <member name="M:LinFu.IoC.Configuration.ArgumentResolver.AddArrayArgument(System.Type,LinFu.IoC.Interfaces.IServiceContainer,System.Collections.Generic.ICollection{System.Object})">
  5488. <summary>
  5489. Constructs an array of services using the services currently available
  5490. in the <paramref name="container" />.
  5491. </summary>
  5492. <param name="parameterType">The current parameter type.</param>
  5493. <param name="container">The container that will be used to build the array of services.</param>
  5494. <param name="argumentList">The list that will store new service array.</param>
  5495. </member>
  5496. <member name="M:LinFu.IoC.Configuration.ArgumentResolver.AddEnumerableArgument(System.Type,LinFu.IoC.Interfaces.IServiceContainer,System.Collections.Generic.ICollection{System.Object})">
  5497. <summary>
  5498. Determines whether or not a parameter type is an existing
  5499. list of available services and automatically constructs the
  5500. service list and adds it to the <paramref name="argumentList" />.
  5501. </summary>
  5502. <param name="parameterType">The current constructor parameter type.</param>
  5503. <param name="container">The container that will provide the argument values.</param>
  5504. <param name="argumentList">The list that will hold the arguments to be passed to the constructor.</param>
  5505. </member>
  5506. <member name="T:LinFu.IoC.Configuration.Interfaces.IMemberResolver`1">
  5507. <summary>
  5508. Represents a class that can choose a member that best matches
  5509. the services currently available in a given <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  5510. </summary>
  5511. <typeparam name="TMember">The member type that will be searched.</typeparam>
  5512. </member>
  5513. <member name="M:LinFu.IoC.Configuration.Interfaces.IMemberResolver`1.ResolveFrom(System.Type,LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Configuration.Interfaces.IMethodFinderContext)">
  5514. <summary>
  5515. Uses the <paramref name="container" /> to determine which member can be used to instantiate
  5516. a <paramref name="concreteType">concrete type</paramref>.
  5517. </summary>
  5518. <param name="concreteType">The target type.</param>
  5519. <param name="container">The container that contains the service instances that will be used to invoke the target member.</param>
  5520. <param name="finderContext">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext" /> that describes the target method.</param>
  5521. <returns>A <typeparamref name="TMember" /> instance if a match is found; otherwise, it will return <c>null</c>.</returns>
  5522. </member>
  5523. <member name="T:LinFu.IoC.Configuration.MemberResolver`1">
  5524. <summary>
  5525. Represents a class that can choose a member that best matches
  5526. the services currently available in a given <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  5527. </summary>
  5528. <typeparam name="TMember">The member type that will be searched.</typeparam>
  5529. </member>
  5530. <member name="M:LinFu.IoC.Configuration.MemberResolver`1.#ctor">
  5531. <summary>
  5532. The default constructor for the <see cref="T:LinFu.IoC.Configuration.MemberResolver`1" /> class.
  5533. </summary>
  5534. </member>
  5535. <member name="M:LinFu.IoC.Configuration.MemberResolver`1.#ctor(System.Func{LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Configuration.Interfaces.IMethodFinder{`0}})">
  5536. <summary>
  5537. Initializes the class with a <paramref name="getFinder">functor</paramref>
  5538. that will be used to instantiate the method finder that will be used in the search.
  5539. </summary>
  5540. <param name="getFinder">The functor that will be used to instantiate the method finder.</param>
  5541. </member>
  5542. <member name="M:LinFu.IoC.Configuration.MemberResolver`1.ResolveFrom(System.Type,LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Configuration.Interfaces.IMethodFinderContext)">
  5543. <summary>
  5544. Uses the <paramref name="container" /> to determine which member to use from
  5545. the <paramref name="concreteType">concrete type</paramref>.
  5546. </summary>
  5547. <param name="concreteType">The target type.</param>
  5548. <param name="container">The container that contains the member values that will be used to invoke the members.</param>
  5549. <param name="finderContext">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext" /> that describes the target method.</param>
  5550. <returns>A member instance if a match is found; otherwise, it will return <c>null</c>.</returns>
  5551. </member>
  5552. <member name="M:LinFu.IoC.Configuration.MemberResolver`1.GetMethodFinder(LinFu.IoC.Interfaces.IServiceContainer)">
  5553. <summary>
  5554. Determines the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinder`1" /> that will be used
  5555. in the method search.
  5556. </summary>
  5557. <param name="container">
  5558. </param>
  5559. <returns>
  5560. </returns>
  5561. </member>
  5562. <member name="M:LinFu.IoC.Configuration.MemberResolver`1.GetDefaultResult(System.Type)">
  5563. <summary>
  5564. The method used to retrieve the default result if no
  5565. other alternative is found.
  5566. </summary>
  5567. <param name="concreteType">The target type that contains the default member.</param>
  5568. <returns>The default member result.</returns>
  5569. </member>
  5570. <member name="M:LinFu.IoC.Configuration.MemberResolver`1.GetMembers(System.Type)">
  5571. <summary>
  5572. Lists the members associated with the <paramref name="concreteType" />.
  5573. </summary>
  5574. <param name="concreteType">The target type that contains the type members.</param>
  5575. <returns>A list of members that belong to the concrete type.</returns>
  5576. </member>
  5577. <member name="T:LinFu.IoC.Configuration.ConstructorResolver">
  5578. <summary>
  5579. Represents the default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberResolver`1" /> class.
  5580. </summary>
  5581. </member>
  5582. <member name="M:LinFu.IoC.Configuration.ConstructorResolver.#ctor">
  5583. <summary>
  5584. Initializes the class with the default values.
  5585. </summary>
  5586. </member>
  5587. <member name="M:LinFu.IoC.Configuration.ConstructorResolver.#ctor(System.Func{LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Configuration.Interfaces.IMethodFinder{System.Reflection.ConstructorInfo}})">
  5588. <summary>
  5589. Initializes the class using the custom method finder.
  5590. </summary>
  5591. <param name="getFinder">The functor that will be used to instantiate the method finder.</param>
  5592. </member>
  5593. <member name="M:LinFu.IoC.Configuration.ConstructorResolver.GetMembers(System.Type)">
  5594. <summary>
  5595. Returns the constructors that belong to the <paramref name="concreteType" />.
  5596. </summary>
  5597. <param name="concreteType">The type that contains the list of constructors.</param>
  5598. <returns>A list of constructors that belong to the <paramref name="concreteType" />.</returns>
  5599. </member>
  5600. <member name="M:LinFu.IoC.Configuration.ConstructorResolver.GetDefaultResult(System.Type)">
  5601. <summary>
  5602. Returns the parameterless constructor in case the search fails.
  5603. </summary>
  5604. <param name="concreteType">The target type that contains the default constructor.</param>
  5605. <returns>The default constructor.</returns>
  5606. </member>
  5607. <member name="T:LinFu.IoC.Configuration.MethodFinder`1">
  5608. <summary>
  5609. Represents a class that determines which method best matches the
  5610. services currently in the target container.
  5611. </summary>
  5612. <typeparam name="T">The method type to search.</typeparam>
  5613. </member>
  5614. <member name="M:LinFu.IoC.Configuration.MethodFinder`1.GetBestMatch(System.Collections.Generic.IEnumerable{`0},LinFu.IoC.Configuration.Interfaces.IMethodFinderContext)">
  5615. <summary>
  5616. Determines which method best matches the
  5617. services currently in the target container.
  5618. </summary>
  5619. <param name="items">The list of methods to search.</param>
  5620. <param name="finderContext">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext" /> that describes the target method.</param>
  5621. <returns>Returns the method with the most resolvable parameters from the target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</returns>
  5622. </member>
  5623. <member name="M:LinFu.IoC.Configuration.MethodFinder`1.SelectBestMatch(System.Collections.Generic.IEnumerable{LinFu.Finders.Interfaces.IFuzzyItem{`0}})">
  5624. <summary>
  5625. Determines which item among the <paramref name="candidates" /> is the best match.
  5626. </summary>
  5627. <param name="candidates">The list of possible matches.</param>
  5628. <returns>The best match if found; otherwise, it should return <c>null</c>.</returns>
  5629. </member>
  5630. <member name="M:LinFu.IoC.Configuration.MethodFinder`1.Rank(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{`0}},LinFu.IoC.Configuration.Interfaces.IMethodFinderContext)">
  5631. <summary>
  5632. Adds additional <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" /> to the fuzzy search list.
  5633. </summary>
  5634. <param name="methods">The list of methods to rank.</param>
  5635. <param name="finderContext">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext" /> that describes the target method.</param>
  5636. </member>
  5637. <member name="M:LinFu.IoC.Configuration.MethodFinder`1.CheckArguments(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{`0}},System.Collections.Generic.IEnumerable{System.Type})">
  5638. <summary>
  5639. Attempts to match the <paramref name="additionalArgumentTypes" /> against the <paramref name="fuzzyList">list of methods</paramref>.
  5640. </summary>
  5641. <param name="fuzzyList">The list of items currently being compared.</param>
  5642. <param name="additionalArgumentTypes">The set of <see cref="T:System.Type" /> instances that describe each supplied argument type.</param>
  5643. </member>
  5644. <member name="T:LinFu.IoC.Configuration.Resolvers.MethodFinderFromContainer`1">
  5645. <summary>
  5646. A <see cref="T:LinFu.IoC.Configuration.MethodFinder`1" /> type that uses a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  5647. instance to find a method with the most resolvable parameters.
  5648. </summary>
  5649. <typeparam name="TMethod">The method type that will be searched.</typeparam>
  5650. </member>
  5651. <member name="M:LinFu.IoC.Configuration.Resolvers.MethodFinderFromContainer`1.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  5652. <summary>
  5653. Initializes the target with the host container.
  5654. </summary>
  5655. <param name="container">The host <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</param>
  5656. </member>
  5657. <member name="M:LinFu.IoC.Configuration.Resolvers.MethodFinderFromContainer`1.CheckParameters(LinFu.Finders.Interfaces.IFuzzyItem{`0},LinFu.IoC.Interfaces.IServiceContainer,System.Int32)">
  5658. <summary>
  5659. Examines a <see cref="T:System.Reflection.ConstructorInfo" /> instance
  5660. and determines if it can be instantiated with the services embedded in
  5661. the target <paramref name="container" />.
  5662. </summary>
  5663. <param name="fuzzyItem">The <see cref="T:LinFu.Finders.FuzzyItem`1" /> that represents the constructor to be examined.</param>
  5664. <param name="container">The container that contains the services that will be used to instantiate the target type.</param>
  5665. <param name="maxIndex">Indicates the index that
  5666. marks the point where the user-supplied arguments begin.</param>
  5667. </member>
  5668. <member name="M:LinFu.IoC.Configuration.Resolvers.MethodFinderFromContainer`1.Rank(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{`0}},LinFu.IoC.Configuration.Interfaces.IMethodFinderContext)">
  5669. <summary>
  5670. Adds additional <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" /> to the fuzzy search list.
  5671. </summary>
  5672. <param name="methods">The list of methods to rank.</param>
  5673. <param name="finderContext">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext" /> that describes the target method.</param>
  5674. </member>
  5675. <member name="P:LinFu.IoC.Configuration.Resolvers.MethodFinderFromContainer`1.Container">
  5676. <summary>
  5677. Gets the value indicating the service container that will be used in the
  5678. method search.
  5679. </summary>
  5680. </member>
  5681. <member name="T:LinFu.IoC.Interfaces.IServiceInstance">
  5682. <summary>
  5683. A type that represents a service instance returned by a container.
  5684. </summary>
  5685. </member>
  5686. <member name="P:LinFu.IoC.Interfaces.IServiceInstance.ServiceInfo">
  5687. <summary>
  5688. Gets the value indicating the <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> instance
  5689. that describes the service instance itself.
  5690. </summary>
  5691. </member>
  5692. <member name="P:LinFu.IoC.Interfaces.IServiceInstance.Object">
  5693. <summary>
  5694. Gets the value indicating the service instance itself.
  5695. </summary>
  5696. </member>
  5697. <member name="T:LinFu.IoC.Configuration.ServiceInstance">
  5698. <summary>
  5699. Represents the default implementation of the <see cref="T:LinFu.IoC.Interfaces.IServiceInstance" /> interface.
  5700. </summary>
  5701. </member>
  5702. <member name="T:LinFu.IoC.Configuration.TypeCounter">
  5703. <summary>
  5704. Counts the number of occurrences of a specific type.
  5705. </summary>
  5706. </member>
  5707. <member name="M:LinFu.IoC.Configuration.TypeCounter.Increment(System.Type)">
  5708. <summary>
  5709. Increments the count for the current <paramref name="type" />.
  5710. </summary>
  5711. <param name="type">The type being counted.</param>
  5712. </member>
  5713. <member name="M:LinFu.IoC.Configuration.TypeCounter.CountOf(System.Type)">
  5714. <summary>
  5715. Returns the number of occurrences of a specific <paramref name="type" />.
  5716. </summary>
  5717. <param name="type">The type being counted.</param>
  5718. <returns>The number of occurrences for the given type.</returns>
  5719. </member>
  5720. <member name="M:LinFu.IoC.Configuration.TypeCounter.Decrement(System.Type)">
  5721. <summary>
  5722. Decrements the count for the current <paramref name="type" />.
  5723. </summary>
  5724. <param name="type">The type being counted.</param>
  5725. </member>
  5726. <member name="M:LinFu.IoC.Configuration.TypeCounter.Reset">
  5727. <summary>
  5728. Resets the counts back to zero.
  5729. </summary>
  5730. </member>
  5731. <member name="P:LinFu.IoC.Configuration.TypeCounter.AvailableTypes">
  5732. <summary>
  5733. Gets the value indicating the types that are
  5734. currently being counted.
  5735. </summary>
  5736. </member>
  5737. <member name="T:LinFu.IoC.Interfaces.ICreateInstance">
  5738. <summary>
  5739. 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" />.
  5740. </summary>
  5741. </member>
  5742. <member name="M:LinFu.IoC.Interfaces.ICreateInstance.CreateFrom(LinFu.IoC.Interfaces.IFactoryRequest,LinFu.IoC.Interfaces.IFactory)">
  5743. <summary>
  5744. Creates a service instance using the given <paramref name="factoryRequest" /> and <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.
  5745. </summary>
  5746. <param name="factoryRequest">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the context of the service request.</param>
  5747. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be used to instantiate the service type.</param>
  5748. <returns>A valid service instance.</returns>
  5749. </member>
  5750. <member name="T:LinFu.IoC.CreatorFromInstance">
  5751. <summary>
  5752. Represents an <see cref="T:LinFu.IoC.Interfaces.ICreateInstance" /> type that generates an object instance from an existing instance.
  5753. </summary>
  5754. </member>
  5755. <member name="M:LinFu.IoC.CreatorFromInstance.#ctor(System.Object)">
  5756. <summary>
  5757. Initializes the class with the target <paramref name="instance" />.
  5758. </summary>
  5759. <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>
  5760. </member>
  5761. <member name="M:LinFu.IoC.CreatorFromInstance.CreateFrom(LinFu.IoC.Interfaces.IFactoryRequest,LinFu.IoC.Interfaces.IFactory)">
  5762. <summary>
  5763. Returns the object instance that given when the <see cref="T:LinFu.IoC.CreatorFromInstance" /> class instance was initialized.
  5764. </summary>
  5765. <param name="factoryRequest">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the context of the service request.</param>
  5766. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be used to instantiate the service type.</param>
  5767. <returns>A valid service instance.</returns>
  5768. </member>
  5769. <member name="T:LinFu.IoC.DefaultCreator">
  5770. <summary>
  5771. Represents the default implementation for the <see cref="T:LinFu.IoC.Interfaces.ICreateInstance" /></summary>
  5772. </member>
  5773. <member name="M:LinFu.IoC.DefaultCreator.CreateFrom(LinFu.IoC.Interfaces.IFactoryRequest,LinFu.IoC.Interfaces.IFactory)">
  5774. <summary>
  5775. Creates a service instance using the given <paramref name="factoryRequest" /> and <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.
  5776. </summary>
  5777. <param name="factoryRequest">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the context of the service request.</param>
  5778. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be used to instantiate the service type.</param>
  5779. <returns>A valid service instance.</returns>
  5780. </member>
  5781. <member name="T:LinFu.IoC.Interfaces.IGetService">
  5782. <summary>
  5783. Represents a class that determines the behavior a <see cref="T:LinFu.IoC.ServiceContainer" /> instance.
  5784. </summary>
  5785. </member>
  5786. <member name="M:LinFu.IoC.Interfaces.IGetService.GetService(LinFu.IoC.Interfaces.IServiceRequest)">
  5787. <summary>
  5788. Causes the container to instantiate the service using the given
  5789. <paramref name="serviceRequest">service request</paramref>. If the service type cannot be created, it will simply return null.
  5790. </summary>
  5791. <returns>A valid object reference if the service can be created; otherwise, it will return <c>null</c></returns>
  5792. </member>
  5793. <member name="T:LinFu.IoC.DefaultGetServiceBehavior">
  5794. <summary>
  5795. Represents the default implementation for the <see cref="T:LinFu.IoC.Interfaces.IGetService" /> interface.
  5796. </summary>
  5797. </member>
  5798. <member name="M:LinFu.IoC.DefaultGetServiceBehavior.#ctor(LinFu.IoC.Interfaces.IServiceContainer)">
  5799. <summary>
  5800. Initializes the class with the given <paramref name="container" /> instance.
  5801. </summary>
  5802. <param name="container">The target service container.</param>
  5803. </member>
  5804. <member name="M:LinFu.IoC.DefaultGetServiceBehavior.#ctor(LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Interfaces.ICreateInstance,LinFu.IoC.Interfaces.IPreProcessor,LinFu.IoC.Interfaces.IPostProcessor)">
  5805. <summary>
  5806. Initializes the class with the given <paramref name="container" /> instance.
  5807. </summary>
  5808. <param name="container">The target service container.</param>
  5809. <param name="creator">The <see cref="T:LinFu.IoC.Interfaces.ICreateInstance" /> instance responsible for instantiating service types.</param>
  5810. <param name="preProcessor">The <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" /> that will allow users to intercept a given service request.</param>
  5811. <param name="postProcessor">The <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> instance that will handle the results of a given service request.</param>
  5812. </member>
  5813. <member name="M:LinFu.IoC.DefaultGetServiceBehavior.GetService(LinFu.IoC.Interfaces.IServiceRequest)">
  5814. <summary>
  5815. Instantiates the service described by the <paramref name="serviceRequest" />.
  5816. </summary>
  5817. <param name="serviceRequest">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequest" /> that describes the service that needs to be instantiated.</param>
  5818. <returns>A valid object reference if the service can be found; otherwise, it will return <c>null</c>.</returns>
  5819. </member>
  5820. <member name="T:LinFu.IoC.Interfaces.IFactory`1">
  5821. <summary>
  5822. A strongly-typed version of <see cref="T:LinFu.IoC.Interfaces.IFactory" />. Allows users
  5823. to create their own service instances
  5824. </summary>
  5825. <typeparam name="T">The instance type that can be created by this factory.</typeparam>
  5826. </member>
  5827. <member name="M:LinFu.IoC.Interfaces.IFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  5828. <summary>
  5829. Creates a service instance using the given <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance.
  5830. </summary>
  5831. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  5832. <returns>An object instance that represents the service to be created. This cannot be <c>null</c>.</returns>
  5833. </member>
  5834. <member name="T:LinFu.IoC.Factories.BaseFactory`1">
  5835. <summary>
  5836. A factory base class that combines both the IFactory and
  5837. the IFactory&lt;T&gt; interfaces into a single class.
  5838. </summary>
  5839. <typeparam name="T">
  5840. </typeparam>
  5841. </member>
  5842. <member name="M:LinFu.IoC.Factories.BaseFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  5843. <summary>
  5844. Creates a service instance using the given container.
  5845. </summary>
  5846. <remarks>
  5847. <see cref="T:LinFu.IoC.Interfaces.IFactory" /> developers can inherit from this class
  5848. instead of having to write their own custom factories
  5849. from scratch. This should cut down on some of the boilerplate
  5850. code necessary to get a factory class up and running.
  5851. </remarks>
  5852. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  5853. <returns>An object instance that represents the service to be created. This cannot be <c>null</c>.</returns>
  5854. </member>
  5855. <member name="T:LinFu.IoC.Factories.DelegateFactory">
  5856. <summary>
  5857. Represents a class that uses a <see cref="T:System.MulticastDelegate" />
  5858. to instantiate a service instance.
  5859. </summary>
  5860. </member>
  5861. <member name="M:LinFu.IoC.Factories.DelegateFactory.#ctor(System.MulticastDelegate)">
  5862. <summary>
  5863. Initializes the class with the given <paramref name="targetDelegate" /></summary>
  5864. <param name="targetDelegate">The delegate that will be used to instantiate the factory.</param>
  5865. </member>
  5866. <member name="M:LinFu.IoC.Factories.DelegateFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  5867. <summary>
  5868. Instantiates the service type using the given delegate.
  5869. </summary>
  5870. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> that describes the service that needs to be created.</param>
  5871. <returns>The service instance.</returns>
  5872. </member>
  5873. <member name="T:LinFu.IoC.FactoryAdapter`1">
  5874. <summary>
  5875. An adapter that converts strongly-typed IFactory&lt;T&gt;
  5876. instances into an equivalent IFactory instance.
  5877. </summary>
  5878. <typeparam name="T">The service type to create.</typeparam>
  5879. </member>
  5880. <member name="M:LinFu.IoC.FactoryAdapter`1.#ctor(System.Object)">
  5881. <summary>
  5882. Creates the factory adapter using the given
  5883. IFactory&lt;T&gt; instance.
  5884. </summary>
  5885. <param name="factory">The factory instance that
  5886. will be called every time the <see cref="M:LinFu.IoC.Interfaces.IFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)" /> method
  5887. is called. </param>
  5888. </member>
  5889. <member name="M:LinFu.IoC.FactoryAdapter`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  5890. <summary>
  5891. Overridden. Uses the strongly-typed factory
  5892. to create the service instance every time
  5893. the <see cref="M:LinFu.IoC.Interfaces.IFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)" /> method
  5894. is called.
  5895. </summary>
  5896. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  5897. <returns>An object instance that represents the service to be created. This cannot be <c>null</c>.</returns>
  5898. </member>
  5899. <member name="P:LinFu.IoC.FactoryAdapter`1.Factory">
  5900. <summary>
  5901. The factory that will create the service instance.
  5902. </summary>
  5903. </member>
  5904. <member name="T:LinFu.IoC.Factories.FunctorFactory">
  5905. <summary>
  5906. A class that converts a delegate into an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.
  5907. </summary>
  5908. </member>
  5909. <member name="M:LinFu.IoC.Factories.FunctorFactory.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,System.Object})">
  5910. <summary>
  5911. Initializes the class with the given <paramref name="factoryMethod" />.
  5912. </summary>
  5913. <param name="factoryMethod">The delegate that will be used to instantiate a type.</param>
  5914. </member>
  5915. <member name="M:LinFu.IoC.Factories.FunctorFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  5916. <summary>
  5917. Instantiates an object reference using the given factory method.
  5918. </summary>
  5919. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  5920. <returns>A non-null object reference that represents the service type.</returns>
  5921. </member>
  5922. <member name="T:LinFu.IoC.Factories.FunctorFactory`1">
  5923. <summary>
  5924. A class that converts a delegate into an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.
  5925. </summary>
  5926. </member>
  5927. <member name="M:LinFu.IoC.Factories.FunctorFactory`1.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,System.Object})">
  5928. <summary>
  5929. Initializes the class with the given <paramref name="factoryMethod" />.
  5930. </summary>
  5931. <param name="factoryMethod">The delegate that will be used to instantiate a type.</param>
  5932. </member>
  5933. <member name="M:LinFu.IoC.Factories.FunctorFactory`1.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,`0})">
  5934. <summary>
  5935. Initializes the class with the given <paramref name="factoryMethod" />.
  5936. </summary>
  5937. <param name="factoryMethod">The delegate that will be used to instantiate a type.</param>
  5938. </member>
  5939. <member name="M:LinFu.IoC.Factories.FunctorFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  5940. <summary>
  5941. Instantiates an object reference using the given factory method.
  5942. </summary>
  5943. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  5944. <returns>A non-null object reference that represents the service type.</returns>
  5945. </member>
  5946. <member name="T:LinFu.IoC.InstanceFactory">
  5947. <summary>
  5948. A factory that uses an existing object reference
  5949. instead of creating a new service.
  5950. </summary>
  5951. </member>
  5952. <member name="M:LinFu.IoC.InstanceFactory.#ctor(System.Object)">
  5953. <summary>
  5954. Creates a factory using the existing <paramref name="instance" />.
  5955. </summary>
  5956. <param name="instance">The existing object reference that the factory will return.</param>
  5957. </member>
  5958. <member name="M:LinFu.IoC.InstanceFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  5959. <summary>
  5960. A method that returns the existing object reference associated with
  5961. this factory.
  5962. </summary>
  5963. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  5964. <returns>A non-null object reference.</returns>
  5965. </member>
  5966. <member name="T:LinFu.IoC.Factories.LazyFactory">
  5967. <summary>
  5968. Represents an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> class that instantiates a factory only on request.
  5969. </summary>
  5970. </member>
  5971. <member name="M:LinFu.IoC.Factories.LazyFactory.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,LinFu.IoC.Interfaces.IFactory})">
  5972. <summary>
  5973. Instantiates the class with the factory functor method.
  5974. </summary>
  5975. <param name="getFactory">The functor that will be responsible for instantiating the actual factory.</param>
  5976. </member>
  5977. <member name="M:LinFu.IoC.Factories.LazyFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  5978. <summary>
  5979. Instantiates the actual factory instance and uses it to instantiate the target service type.
  5980. </summary>
  5981. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> that describes the service to be created.</param>
  5982. <returns>A valid service instance.</returns>
  5983. </member>
  5984. <member name="T:LinFu.IoC.Factories.LazyFactory`1">
  5985. <summary>
  5986. Represents a factory that returns strongly-typed IFactory instances.
  5987. </summary>
  5988. <typeparam name="T">The service type to be created.</typeparam>
  5989. </member>
  5990. <member name="M:LinFu.IoC.Factories.LazyFactory`1.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,LinFu.IoC.Interfaces.IFactory})">
  5991. <summary>
  5992. Initializes the factory with the given <paramref name="getFactory" /> functor.
  5993. </summary>
  5994. <param name="getFactory">The functor that will instantiate the actual factory instance.</param>
  5995. </member>
  5996. <member name="M:LinFu.IoC.Factories.LazyFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  5997. <summary>
  5998. Instantiates the service type using the actual factory.
  5999. </summary>
  6000. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the service to be created.</param>
  6001. <returns>
  6002. </returns>
  6003. </member>
  6004. <member name="T:LinFu.IoC.Factories.OncePerRequestFactory`1">
  6005. <summary>
  6006. A factory that creates a unique service instance every time
  6007. the <see cref="M:LinFu.IoC.Factories.OncePerRequestFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)" /> method is called.
  6008. </summary>
  6009. <typeparam name="T">The type of service to instantiate.</typeparam>
  6010. </member>
  6011. <member name="M:LinFu.IoC.Factories.OncePerRequestFactory`1.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,`0})">
  6012. <summary>
  6013. Initializes the factory class using the <paramref name="createInstance" />
  6014. parameter as a factory delegate.
  6015. </summary>
  6016. <example>
  6017. The following is an example of initializing a <c>OncePerRequestFactory&lt;T&gt;</c>
  6018. type:
  6019. <code>
  6020. // Define the factory delegate
  6021. Func&lt;IFactoryRequest, ISomeService&gt; createService = container=&gt;new SomeServiceImplementation();
  6022. // Create the factory
  6023. var factory = new OncePerRequestFactory&lt;ISomeService&gt;(createService);
  6024. // Use the service instance
  6025. var service = factory.CreateInstance(null);
  6026. // ...
  6027. </code></example>
  6028. <param name="createInstance">The delegate that will be used to create each new service instance.</param>
  6029. </member>
  6030. <member name="M:LinFu.IoC.Factories.OncePerRequestFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  6031. <summary>
  6032. This method creates a new service instance every time
  6033. it is invoked.
  6034. </summary>
  6035. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  6036. <returns>A non-null object reference.</returns>
  6037. </member>
  6038. <member name="T:LinFu.IoC.Factories.OncePerThreadFactory`1">
  6039. <summary>
  6040. A factory that creates service instances that are unique
  6041. from within the same thread as the factory itself.
  6042. </summary>
  6043. <typeparam name="T">The type of service to instantiate.</typeparam>
  6044. </member>
  6045. <member name="M:LinFu.IoC.Factories.OncePerThreadFactory`1.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,`0})">
  6046. <summary>
  6047. Initializes the factory class using the <paramref name="createInstance" />
  6048. parameter as a factory delegate.
  6049. </summary>
  6050. <example>
  6051. The following is an example of initializing a <c>OncePerThreadFactory&lt;T&gt;</c>
  6052. type:
  6053. <code>
  6054. // Define the factory delegate
  6055. Func&lt;IFactoryRequest, ISomeService&gt; createService = container=&gt;new SomeServiceImplementation();
  6056. // Create the factory
  6057. var factory = new OncePerThreadFactory&lt;ISomeService&gt;(createService);
  6058. // Use the service instance
  6059. var service = factory.CreateInstance(null);
  6060. // ...
  6061. </code></example>
  6062. <param name="createInstance">The delegate that will be used to create each new service instance.</param>
  6063. </member>
  6064. <member name="M:LinFu.IoC.Factories.OncePerThreadFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  6065. <summary>
  6066. Creates the service instance using the given <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" />
  6067. instance. Every service instance created from this factory will
  6068. only be created once per thread.
  6069. </summary>
  6070. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  6071. <returns>A a service instance as thread-wide singleton.</returns>
  6072. </member>
  6073. <member name="T:LinFu.IoC.Factories.SingletonFactory`1">
  6074. <summary>
  6075. A factory that creates Singletons. Each service that this factory creates will only be created once per concrete type.
  6076. </summary>
  6077. <typeparam name="T">The type of service to instantiate.</typeparam>
  6078. </member>
  6079. <member name="M:LinFu.IoC.Factories.SingletonFactory`1.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,`0})">
  6080. <summary>
  6081. Initializes the factory class using the <paramref name="createInstance" />
  6082. parameter as a factory delegate.
  6083. </summary>
  6084. <example>
  6085. The following is an example of initializing a <c>SingletonFactory&lt;T&gt;</c>
  6086. type:
  6087. <code>
  6088. // Define the factory delegate
  6089. Func&lt;IFactoryRequest, ISomeService&gt; createService = container=&gt;new SomeServiceImplementation();
  6090. // Create the factory
  6091. var factory = new SingletonFactory&lt;ISomeService&gt;(createService);
  6092. // Use the service instance
  6093. var service = factory.CreateInstance(null);
  6094. // ...
  6095. </code></example>
  6096. <param name="createInstance">The delegate that will be used to create each new service instance.</param>
  6097. </member>
  6098. <member name="M:LinFu.IoC.Factories.SingletonFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  6099. <summary>
  6100. A method that creates a service instance as a singleton.
  6101. </summary>
  6102. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  6103. <returns>A service instance as a singleton.</returns>
  6104. </member>
  6105. <member name="T:LinFu.IoC.FactoryExtensions">
  6106. <summary>
  6107. Extends the <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance with a few helper methods.
  6108. </summary>
  6109. </member>
  6110. <member name="M:LinFu.IoC.FactoryExtensions.CreateInstance(LinFu.IoC.Interfaces.IFactory,System.Type,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  6111. <summary>
  6112. Creates an object instance.
  6113. </summary>
  6114. <param name="factory">The target factory.</param>
  6115. <param name="serviceType">The requested service type.</param>
  6116. <param name="container">The target service contaienr.</param>
  6117. <param name="additionalArguments">The additional arguments that will be used to create the service instance.</param>
  6118. <returns>A service instance.</returns>
  6119. </member>
  6120. <member name="T:LinFu.IoC.FactoryRequest">
  6121. <summary>
  6122. Represents the default implementation of the <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> interface.
  6123. </summary>
  6124. </member>
  6125. <member name="P:LinFu.IoC.FactoryRequest.Container">
  6126. <summary>
  6127. Gets the value indicating the service container that made the service request.
  6128. </summary>
  6129. </member>
  6130. <member name="P:LinFu.IoC.FactoryRequest.ServiceName">
  6131. <summary>
  6132. Gets the value indicating the service name.
  6133. </summary>
  6134. <remarks>A null service name indicates that no service name was given during the request.</remarks>
  6135. </member>
  6136. <member name="P:LinFu.IoC.FactoryRequest.ServiceType">
  6137. <summary>
  6138. Gets the value indicating the requested service type.
  6139. </summary>
  6140. </member>
  6141. <member name="P:LinFu.IoC.FactoryRequest.Arguments">
  6142. <summary>
  6143. Gets the value indicating the additional arguments given in the factory request.
  6144. </summary>
  6145. </member>
  6146. <member name="T:LinFu.IoC.Interfaces.IFactoryStorage">
  6147. <summary>
  6148. Represents a class that stores factory instances.
  6149. </summary>
  6150. </member>
  6151. <member name="M:LinFu.IoC.Interfaces.IFactoryStorage.GetFactory(LinFu.IoC.Interfaces.IServiceInfo)">
  6152. <summary>
  6153. Determines which factories should be used
  6154. for a particular service request.
  6155. </summary>
  6156. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
  6157. <returns>A factory instance.</returns>
  6158. </member>
  6159. <member name="M:LinFu.IoC.Interfaces.IFactoryStorage.AddFactory(LinFu.IoC.Interfaces.IServiceInfo,LinFu.IoC.Interfaces.IFactory)">
  6160. <summary>
  6161. Adds a <see cref="T:LinFu.IoC.Interfaces.IFactory" /> to the current <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object.
  6162. </summary>
  6163. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
  6164. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will create the object instance.</param>
  6165. </member>
  6166. <member name="M:LinFu.IoC.Interfaces.IFactoryStorage.ContainsFactory(LinFu.IoC.Interfaces.IServiceInfo)">
  6167. <summary>
  6168. Determines whether or not a factory exists in storage.
  6169. </summary>
  6170. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
  6171. <returns>Returns <c>true</c> if the factory exists; otherwise, it will return <c>false</c>.</returns>
  6172. </member>
  6173. <member name="P:LinFu.IoC.Interfaces.IFactoryStorage.AvailableFactories">
  6174. <summary>
  6175. Gets a value indicating the list of <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> objects
  6176. that describe each available factory in the current <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" />
  6177. instance.
  6178. </summary>
  6179. </member>
  6180. <member name="T:LinFu.IoC.BaseFactoryStorage">
  6181. <summary>
  6182. Represents the default base implementation of the <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> class.
  6183. </summary>
  6184. </member>
  6185. <member name="M:LinFu.IoC.BaseFactoryStorage.GetFactory(LinFu.IoC.Interfaces.IServiceInfo)">
  6186. <summary>
  6187. Determines which factories should be used
  6188. for a particular service request.
  6189. </summary>
  6190. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
  6191. <returns>A factory instance.</returns>
  6192. </member>
  6193. <member name="M:LinFu.IoC.BaseFactoryStorage.AddFactory(LinFu.IoC.Interfaces.IServiceInfo,LinFu.IoC.Interfaces.IFactory)">
  6194. <summary>
  6195. Adds a <see cref="T:LinFu.IoC.Interfaces.IFactory" /> to the current <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object.
  6196. </summary>
  6197. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
  6198. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will create the object instance.</param>
  6199. </member>
  6200. <member name="M:LinFu.IoC.BaseFactoryStorage.ContainsFactory(LinFu.IoC.Interfaces.IServiceInfo)">
  6201. <summary>
  6202. Determines whether or not a factory exists in storage.
  6203. </summary>
  6204. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
  6205. <returns>Returns <c>true</c> if the factory exists; otherwise, it will return <c>false</c>.</returns>
  6206. </member>
  6207. <member name="P:LinFu.IoC.BaseFactoryStorage.AvailableFactories">
  6208. <summary>
  6209. Gets a value indicating the list of <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> objects
  6210. that describe each available factory in the current <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" />
  6211. instance.
  6212. </summary>
  6213. </member>
  6214. <member name="T:LinFu.IoC.FactoryStorage">
  6215. <summary>
  6216. Represents an <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> instance that adds generics support to the <see cref="T:LinFu.IoC.BaseFactoryStorage" /> implementation.
  6217. </summary>
  6218. </member>
  6219. <member name="M:LinFu.IoC.FactoryStorage.ContainsFactory(LinFu.IoC.Interfaces.IServiceInfo)">
  6220. <summary>
  6221. Determines whether or not an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance
  6222. can be used to create the given service described by the <paramref name="serviceInfo" /> object.
  6223. </summary>
  6224. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the service to be created.</param>
  6225. <returns>
  6226. <c>True</c> if the service can be created; otherwise, it will return <c>false</c>.</returns>
  6227. </member>
  6228. <member name="M:LinFu.IoC.FactoryStorage.GetFactory(LinFu.IoC.Interfaces.IServiceInfo)">
  6229. <summary>
  6230. Obtains the <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that can instantiate the
  6231. service described by the <paramref name="serviceInfo" /> object instance.
  6232. </summary>
  6233. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the service to be created.</param>
  6234. <returns>A <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance if the service can be instantiated; otherwise, it will return <c>false</c>.</returns>
  6235. </member>
  6236. <member name="M:LinFu.IoC.FactoryStorage.GetDefaultFactory(System.String,System.Type,LinFu.IoC.Interfaces.IFactory)">
  6237. <summary>
  6238. Gets the default factory for a particular service type if no other factory instance can be found.
  6239. </summary>
  6240. <param name="serviceName">The name of the service.</param>
  6241. <param name="serviceType">The service type.</param>
  6242. <param name="factory">The original factory instance that was supposed to be created in order to instantiate the service instance.</param>
  6243. <returns>The actual factory instance that will be used to create the service instance.</returns>
  6244. </member>
  6245. <member name="M:LinFu.IoC.FactoryStorage.GetGenericFactory(LinFu.IoC.Interfaces.IServiceInfo,LinFu.IoC.Interfaces.IFactory,System.String,System.Type)">
  6246. <summary>
  6247. Gets the generic factory for a concrete service type.
  6248. </summary>
  6249. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the service to be created.</param>
  6250. <param name="factory">The factory instance that will be used to create the service.</param>
  6251. <param name="serviceName">The name of the service.</param>
  6252. <param name="actualServiceType">The service type.</param>
  6253. <returns>A factory instance that can create the generic type.</returns>
  6254. </member>
  6255. <member name="T:LinFu.IoC.FactoryStorageExtensions">
  6256. <summary>
  6257. An extension class that adds a few helper methods to the
  6258. <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> interface.
  6259. </summary>
  6260. </member>
  6261. <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)">
  6262. <summary>
  6263. Adds a factory to the current <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> instance.
  6264. </summary>
  6265. <param name="storage">The <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object that will store the target factory.</param>
  6266. <param name="serviceName">The name that will be associated with the target factory.</param>
  6267. <param name="serviceType">The service type that the factory will be able to create.</param>
  6268. <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
  6269. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will create the object instance.</param>
  6270. </member>
  6271. <member name="M:LinFu.IoC.FactoryStorageExtensions.GetFactory(LinFu.IoC.Interfaces.IFactoryStorage,System.String,System.Type,System.Collections.Generic.IEnumerable{System.Object})">
  6272. <summary>
  6273. Determines which factories should be used
  6274. for a particular service request.
  6275. </summary>
  6276. <param name="storage">The <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object that holds the target factory.</param>
  6277. <param name="serviceName">The name that will be associated with the target factory.</param>
  6278. <param name="serviceType">The service type that the factory will be able to create.</param>
  6279. <param name="additionalParameters">The list of additional parameter values that this factory type will use to instantiate the service.</param>
  6280. <returns>A factory instance.</returns>
  6281. </member>
  6282. <member name="M:LinFu.IoC.FactoryStorageExtensions.GetFactory(LinFu.IoC.Interfaces.IFactoryStorage,System.String,System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  6283. <summary>
  6284. Determines which factories should be used
  6285. for a particular service request.
  6286. </summary>
  6287. <param name="storage">The <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object that holds the target factory.</param>
  6288. <param name="serviceName">The name that will be associated with the target factory.</param>
  6289. <param name="serviceType">The service type that the factory will be able to create.</param>
  6290. <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
  6291. <returns>A factory instance.</returns>
  6292. </member>
  6293. <member name="M:LinFu.IoC.FactoryStorageExtensions.ContainsFactory(LinFu.IoC.Interfaces.IFactoryStorage,System.String,System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  6294. <summary>
  6295. Determines whether or not a factory exists in storage.
  6296. </summary>
  6297. <param name="storage">The <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object that holds the target factory.</param>
  6298. <param name="serviceName">The name that will be associated with the target factory.</param>
  6299. <param name="serviceType">The service type that the factory will be able to create.</param>
  6300. <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
  6301. <returns>Returns <c>true</c> if the factory exists; otherwise, it will return <c>false</c>.</returns>
  6302. </member>
  6303. <member name="T:LinFu.IoC.Interceptors.BaseInterceptor">
  6304. <summary>
  6305. A class that provides the most basic functionality for an interceptor.
  6306. </summary>
  6307. </member>
  6308. <member name="M:LinFu.IoC.Interceptors.BaseInterceptor.#ctor">
  6309. <summary>
  6310. The default constructor.
  6311. </summary>
  6312. </member>
  6313. <member name="M:LinFu.IoC.Interceptors.BaseInterceptor.#ctor(LinFu.IoC.Configuration.Interfaces.IMethodInvoke{System.Reflection.MethodInfo})">
  6314. <summary>
  6315. Initializes the class with the <paramref name="methodInvoke" /> instance.
  6316. </summary>
  6317. <param name="methodInvoke">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodInvoke`1" /> instance that will invoke the target method.</param>
  6318. </member>
  6319. <member name="M:LinFu.IoC.Interceptors.BaseInterceptor.Intercept(LinFu.AOP.Interfaces.IInvocationInfo)">
  6320. <summary>
  6321. Intercepts a method call using the given
  6322. <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.
  6323. </summary>
  6324. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that will
  6325. contain all the necessary information associated with a
  6326. particular method call.</param>
  6327. <returns>The return value of the target method. If the return type of the target
  6328. method is <see cref="!:void" />, then the return value will be ignored.</returns>
  6329. </member>
  6330. <member name="M:LinFu.IoC.Interceptors.BaseInterceptor.GetTarget(LinFu.AOP.Interfaces.IInvocationInfo)">
  6331. <summary>
  6332. Gets the target object instance.
  6333. </summary>
  6334. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the current execution context.</param>
  6335. </member>
  6336. <member name="P:LinFu.IoC.Interceptors.BaseInterceptor.MethodInvoker">
  6337. <summary>
  6338. Gets the value indicating the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodInvoke`1" /> instance
  6339. that will be used to invoke the target method.
  6340. </summary>
  6341. </member>
  6342. <member name="T:LinFu.IoC.Interceptors.LazyInterceptor`1">
  6343. <summary>
  6344. An interceptor class that instantiates a target type only when
  6345. the methods for that target are invoked.
  6346. </summary>
  6347. <typeparam name="T">The type of object to intercept.</typeparam>
  6348. </member>
  6349. <member name="M:LinFu.IoC.Interceptors.LazyInterceptor`1.#ctor(System.Func{`0})">
  6350. <summary>
  6351. Initializes the class with the <paramref name="getInstance" />
  6352. factory method.
  6353. </summary>
  6354. <param name="getInstance">The functor that will be used to create the actual object instance.</param>
  6355. </member>
  6356. <member name="M:LinFu.IoC.Interceptors.LazyInterceptor`1.GetTarget(LinFu.AOP.Interfaces.IInvocationInfo)">
  6357. <summary>
  6358. A method that uses the given factory method to provide a target
  6359. for the method currently being invoked.
  6360. </summary>
  6361. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> object that describes the current invocation context.</param>
  6362. <returns>The target itself.</returns>
  6363. </member>
  6364. <member name="M:LinFu.IoC.Interceptors.LazyInterceptor`1.Intercept(LinFu.AOP.Interfaces.IInvocationInfo)">
  6365. <summary>
  6366. Intercepts the method and initializes the target instance before the
  6367. actual object is invoked.
  6368. </summary>
  6369. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> that describes the execution context.</param>
  6370. <returns>The return value of the target method.</returns>
  6371. </member>
  6372. <member name="T:LinFu.IoC.Interceptors.AroundInvokeAdapter">
  6373. <summary>
  6374. Adapts a <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance into an <see cref="T:LinFu.AOP.Interfaces.IInterceptor" />.
  6375. </summary>
  6376. </member>
  6377. <member name="M:LinFu.IoC.Interceptors.AroundInvokeAdapter.#ctor(System.Func{System.Object},LinFu.IoC.Configuration.Interfaces.IMethodInvoke{System.Reflection.MethodInfo},LinFu.AOP.Interfaces.IAroundInvoke)">
  6378. <summary>
  6379. Initializes the <see cref="T:LinFu.IoC.Interceptors.AroundInvokeAdapter" /> class.
  6380. </summary>
  6381. <param name="getTarget">The functor responsible for obtaining the target instance.</param>
  6382. <param name="methodInvoke">The method invoker.</param>
  6383. <param name="aroundInvoke">The target <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.</param>
  6384. </member>
  6385. <member name="M:LinFu.IoC.Interceptors.AroundInvokeAdapter.Intercept(LinFu.AOP.Interfaces.IInvocationInfo)">
  6386. <summary>
  6387. Converts the call to <see cref="M:LinFu.AOP.Interfaces.IInterceptor.Intercept(LinFu.AOP.Interfaces.IInvocationInfo)" /> to an
  6388. <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> method call.
  6389. </summary>
  6390. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> that describes the context of the method call.</param>
  6391. <returns>The return value from the target method.</returns>
  6392. </member>
  6393. <member name="M:LinFu.IoC.Interceptors.AroundInvokeAdapter.GetTarget(LinFu.AOP.Interfaces.IInvocationInfo)">
  6394. <summary>
  6395. Gets the target object instance.
  6396. </summary>
  6397. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the current execution context.</param>
  6398. </member>
  6399. <member name="T:LinFu.IoC.Interceptors.InterceptorAttributeLoader">
  6400. <summary>
  6401. The class responsible for loading interceptors marked with the
  6402. <see cref="T:LinFu.IoC.Interceptors.InterceptsAttribute" /> class.
  6403. </summary>
  6404. </member>
  6405. <member name="M:LinFu.IoC.Interceptors.InterceptorAttributeLoader.#ctor(LinFu.Reflection.ILoader{LinFu.IoC.Interfaces.IServiceContainer})">
  6406. <summary>
  6407. Initializes the class with the given <paramref name="loaderHost" />.
  6408. </summary>
  6409. <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>
  6410. </member>
  6411. <member name="M:LinFu.IoC.Interceptors.InterceptorAttributeLoader.Load(System.Type)">
  6412. <summary>
  6413. Loads an <see cref="T:LinFu.AOP.Interfaces.IInterceptor" /> derived class into a particular <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance
  6414. so that the current interceptor type can intercept calls made to services created from the given
  6415. target container.
  6416. </summary>
  6417. <param name="input">The interceptor type.</param>
  6418. <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>
  6419. </member>
  6420. <member name="M:LinFu.IoC.Interceptors.InterceptorAttributeLoader.CanLoad(System.Type)">
  6421. <summary>
  6422. Determines whether or not a target type is an interceptor.
  6423. </summary>
  6424. <param name="inputType">The target type currently being tested.</param>
  6425. <returns>Returns <c>true</c> if the <paramref name="inputType" /> is an interceptor; otherwise, it will return <c>false</c>.</returns>
  6426. </member>
  6427. <member name="M:LinFu.IoC.Interceptors.InterceptorAttributeLoader.CreateProxyFrom(LinFu.IoC.Interfaces.IServiceRequestResult,System.Func{LinFu.IoC.Interfaces.IServiceRequestResult,LinFu.AOP.Interfaces.IInterceptor})">
  6428. <summary>
  6429. Generates a proxy instance from an existing <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> instance.
  6430. </summary>
  6431. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> instance that describes the proxy type that must be generated.</param>
  6432. <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>
  6433. <returns>A service proxy.</returns>
  6434. </member>
  6435. <member name="T:LinFu.IoC.Interceptors.InterceptsAttribute">
  6436. <summary>
  6437. The attribute class used to indentify interceptor classes.
  6438. </summary>
  6439. </member>
  6440. <member name="M:LinFu.IoC.Interceptors.InterceptsAttribute.#ctor(System.Type)">
  6441. <summary>
  6442. Initializes the class with the given <paramref name="targetType" />.
  6443. </summary>
  6444. <param name="targetType">The target type that will be intercepted.</param>
  6445. </member>
  6446. <member name="M:LinFu.IoC.Interceptors.InterceptsAttribute.#ctor(System.String,System.Type)">
  6447. <summary>
  6448. Initializes the class with the given <paramref name="targetType" /> and <paramref name="serviceName" />.
  6449. </summary>
  6450. <param name="serviceName">The name of service that will be intercepted.</param>
  6451. <param name="targetType">The target type that will be intercepted.</param>
  6452. </member>
  6453. <member name="P:LinFu.IoC.Interceptors.InterceptsAttribute.ServiceName">
  6454. <summary>
  6455. Gets the value indicating the name of the service to intercept.
  6456. </summary>
  6457. </member>
  6458. <member name="P:LinFu.IoC.Interceptors.InterceptsAttribute.TargetType">
  6459. <summary>
  6460. Gets the value indicating the target type that will be intercepted.
  6461. </summary>
  6462. </member>
  6463. <member name="T:LinFu.IoC.Interceptors.InvocationInfoInterceptor">
  6464. <summary>
  6465. An interceptor that intercepts <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instances
  6466. and replaces the original target instance with a surrogate instance.
  6467. </summary>
  6468. </member>
  6469. <member name="M:LinFu.IoC.Interceptors.InvocationInfoInterceptor.#ctor(LinFu.AOP.Interfaces.IInvocationInfo,System.Func{System.Object},LinFu.IoC.Configuration.Interfaces.IMethodInvoke{System.Reflection.MethodInfo})">
  6470. <summary>
  6471. Initializes the class with a functor that can provide the actual target instance.
  6472. </summary>
  6473. <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>
  6474. <param name="methodInvoke">The method invoker.</param>
  6475. <param name="realInfo">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the current execution context.</param>
  6476. </member>
  6477. <member name="M:LinFu.IoC.Interceptors.InvocationInfoInterceptor.GetTarget(LinFu.AOP.Interfaces.IInvocationInfo)">
  6478. <summary>
  6479. Gets the target object instance.
  6480. </summary>
  6481. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the current execution context.</param>
  6482. </member>
  6483. <member name="T:LinFu.IoC.Interceptors.ProxyContainerPlugin">
  6484. <summary>
  6485. A <see cref="T:LinFu.IoC.Configuration.Interfaces.IContainerPlugin" /> implementation that inserts
  6486. <see cref="T:LinFu.IoC.Interceptors.ProxyInjector" /> instances at the beginning of a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  6487. loading sequence.
  6488. </summary>
  6489. </member>
  6490. <member name="M:LinFu.IoC.Interceptors.ProxyContainerPlugin.#ctor(LinFu.IoC.Interceptors.ProxyInjector)">
  6491. <summary>
  6492. Initializes the class with the given <see cref="T:LinFu.IoC.Interceptors.ProxyInjector" /> instance.
  6493. </summary>
  6494. <param name="injector">The postprocessor that will inject proxies in place of actual service requests.</param>
  6495. </member>
  6496. <member name="M:LinFu.IoC.Interceptors.ProxyContainerPlugin.BeginLoad(LinFu.IoC.Interfaces.IServiceContainer)">
  6497. <summary>
  6498. Injects a <see cref="T:LinFu.IoC.Interceptors.ProxyInjector" /> into the <paramref name="target">target container</paramref>.
  6499. </summary>
  6500. <param name="target">The service container that will hold the <see cref="T:LinFu.IoC.Interceptors.ProxyInjector" />.</param>
  6501. </member>
  6502. <member name="M:LinFu.IoC.Interceptors.ProxyContainerPlugin.EndLoad(LinFu.IoC.Interfaces.IServiceContainer)">
  6503. <summary>
  6504. Does absolutely nothing.
  6505. </summary>
  6506. <param name="target">The target container.</param>
  6507. </member>
  6508. <member name="T:LinFu.IoC.Interceptors.ProxyInjector">
  6509. <summary>
  6510. Represents a class that automatically injects a proxy instance
  6511. instead of an actual service instance.
  6512. </summary>
  6513. </member>
  6514. <member name="M:LinFu.IoC.Interceptors.ProxyInjector.#ctor(System.Func{LinFu.IoC.Interfaces.IServiceRequestResult,System.Boolean},System.Func{LinFu.IoC.Interfaces.IServiceRequestResult,System.Object})">
  6515. <summary>
  6516. Initializes the class with the <paramref name="filterPredicate" />
  6517. and the <paramref name="createProxy" /> factory method.
  6518. </summary>
  6519. <param name="filterPredicate">The predicate that will determine which service requests will be proxied.</param>
  6520. <param name="createProxy">The factory method that will generate the proxy instance itself.</param>
  6521. </member>
  6522. <member name="M:LinFu.IoC.Interceptors.ProxyInjector.PostProcess(LinFu.IoC.Interfaces.IServiceRequestResult)">
  6523. <summary>
  6524. A method that injects service proxies in place of the actual <see cref="P:LinFu.IoC.Interfaces.IServiceRequestResult.ActualResult" />.
  6525. </summary>
  6526. <param name="result">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> instance that describes the service request.</param>
  6527. </member>
  6528. <member name="T:LinFu.IoC.Configuration.IContainerLoader">
  6529. <summary>
  6530. Represents a loader that reads a file and converts it
  6531. into an equivalent set of a set of <see cref="T:System.Action`1" />
  6532. instances that can be applied to a particular
  6533. instance of an <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> class.
  6534. </summary>
  6535. </member>
  6536. <member name="T:LinFu.IoC.Interceptors.Redirector">
  6537. <summary>
  6538. An interceptor class that redirects calls to another interceptor.
  6539. </summary>
  6540. </member>
  6541. <member name="M:LinFu.IoC.Interceptors.Redirector.GetTarget(LinFu.AOP.Interfaces.IInvocationInfo)">
  6542. <summary>
  6543. Gets the target object instance.
  6544. </summary>
  6545. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the current execution context.</param>
  6546. </member>
  6547. <member name="T:LinFu.IoC.Interfaces.IScope">
  6548. <summary>
  6549. Represents a class that keeps track of all the disposable objects
  6550. created within a service container and disposes them when
  6551. the scope itself has been disposed.
  6552. </summary>
  6553. </member>
  6554. <member name="T:LinFu.IoC.Reflection.LateBoundExtensions">
  6555. <summary>
  6556. A class that adds late binding support to any CLR object.
  6557. </summary>
  6558. </member>
  6559. <member name="M:LinFu.IoC.Reflection.LateBoundExtensions.Invoke(System.Object,System.String,System.Object[])">
  6560. <summary>
  6561. Invokes a method on the target <paramref name="instance" />.
  6562. </summary>
  6563. <param name="instance">The target instance that will be used to invoke the method.</param>
  6564. <param name="methodName">The name of the target method.</param>
  6565. <param name="arguments">The arguments that will be passed to the target method.</param>
  6566. <returns>The method return value.</returns>
  6567. </member>
  6568. <member name="M:LinFu.IoC.Reflection.LateBoundExtensions.Invoke(System.Object,System.String,LinFu.IoC.Configuration.MethodFinderContext)">
  6569. <summary>
  6570. Invokes a method on the target <paramref name="instance" /> using the given <paramref name="methodName" /> and <paramref name="context" />.
  6571. </summary>
  6572. <param name="instance">The target instance.</param>
  6573. <param name="methodName">The name of the target method.</param>
  6574. <param name="context">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext" /> that describes the target method.</param>
  6575. <returns>The method return value.</returns>
  6576. </member>
  6577. <member name="M:LinFu.IoC.Reflection.LateBoundExtensions.Invoke``1(System.Object,System.String,System.Object[])">
  6578. <summary>
  6579. Invokes a method on the target <paramref name="instance" /> using the given <paramref name="methodName" />.
  6580. </summary>
  6581. <param name="instance">The target instance.</param>
  6582. <param name="methodName">The name of the target method.</param>
  6583. <typeparam name="T1">The type argument that will be passed to the target method</typeparam>.
  6584. <param name="arguments">The arguments that will be passed to the target method.</param><returns>The method return value.</returns></member>
  6585. <member name="M:LinFu.IoC.Reflection.LateBoundExtensions.Invoke``2(System.Object,System.String,System.Object[])">
  6586. <summary>
  6587. Invokes a method on the target <paramref name="instance" /> using the given <paramref name="methodName" />.
  6588. </summary>
  6589. <param name="instance">The target instance.</param>
  6590. <param name="methodName">The name of the target method.</param>
  6591. <typeparam name="T1">The first type argument that will be passed to the target method</typeparam>.
  6592. <typeparam name="T2">The second type argument that will be passed to the target method</typeparam>.
  6593. <param name="arguments">The arguments that will be passed to the target method.</param><returns>The method return value.</returns></member>
  6594. <member name="M:LinFu.IoC.Reflection.LateBoundExtensions.Invoke``3(System.Object,System.String,System.Object[])">
  6595. <summary>
  6596. Invokes a method on the target <paramref name="instance" /> using the given <paramref name="methodName" />.
  6597. </summary>
  6598. <param name="instance">The target instance.</param>
  6599. <param name="methodName">The name of the target method.</param>
  6600. <typeparam name="T1">The first type argument that will be passed to the target method</typeparam>.
  6601. <typeparam name="T2">The second type argument that will be passed to the target method</typeparam>.
  6602. <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>
  6603. <member name="M:LinFu.IoC.Reflection.LateBoundExtensions.Invoke``4(System.Object,System.String,System.Object[])">
  6604. <summary>
  6605. Invokes a method on the target <paramref name="instance" /> using the given <paramref name="methodName" />.
  6606. </summary>
  6607. <param name="instance">The target instance.</param>
  6608. <param name="methodName">The name of the target method.</param>
  6609. <typeparam name="T1">The first type argument that will be passed to the target method</typeparam>.
  6610. <typeparam name="T2">The second type argument that will be passed to the target method</typeparam>.
  6611. <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>
  6612. <member name="M:LinFu.IoC.Reflection.LateBoundExtensions.Invoke(System.Object,System.String,System.Type[],System.Object[])">
  6613. <summary>
  6614. Invokes a method on the target <paramref name="instance" /> using the given <paramref name="methodName" />.
  6615. </summary>
  6616. <param name="instance">The target instance.</param>
  6617. <param name="methodName">The name of the target method.</param>
  6618. <param name="typeArguments">The type arguments that will be passed to the target method.</param>
  6619. <param name="arguments">The arguments that will be passed to the target method.</param>
  6620. <returns>The method return value.</returns>
  6621. </member>
  6622. <member name="T:LinFu.IoC.Scope">
  6623. <summary>
  6624. Represents a class that keeps track of all the disposable objects
  6625. created within a service container and disposes them when
  6626. the scope itself has been disposed.
  6627. </summary>
  6628. </member>
  6629. <member name="M:LinFu.IoC.Scope.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  6630. <summary>
  6631. Inserts the scope into the target <paramref name="source">container</paramref>.
  6632. </summary>
  6633. <param name="source">The container that will hold the scope instance.</param>
  6634. </member>
  6635. <member name="M:LinFu.IoC.Scope.PostProcess(LinFu.IoC.Interfaces.IServiceRequestResult)">
  6636. <summary>
  6637. Monitors the <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> for any services that are created and automatically disposes them
  6638. once the <see cref="T:LinFu.IoC.Interfaces.IScope" /> is disposed.
  6639. </summary>
  6640. <param name="result">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> that describes the service being instantiated.</param>
  6641. </member>
  6642. <member name="M:LinFu.IoC.Scope.Dispose">
  6643. <summary>
  6644. Disposes the services that have been created while the scope has been active.
  6645. </summary>
  6646. </member>
  6647. <member name="T:LinFu.IoC.ServiceContainer">
  6648. <summary>
  6649. Represents a service container with additional
  6650. extension points for customizing service instances
  6651. </summary>
  6652. </member>
  6653. <member name="M:LinFu.IoC.ServiceContainer.#ctor">
  6654. <summary>
  6655. Initializes the container with the default services.
  6656. </summary>
  6657. </member>
  6658. <member name="M:LinFu.IoC.ServiceContainer.#ctor(LinFu.IoC.Interfaces.IGetService,LinFu.IoC.Interfaces.IFactoryStorage)">
  6659. <summary>
  6660. Initializes the container with a custom <see cref="T:LinFu.IoC.Interfaces.ICreateInstance" /> type.
  6661. </summary>
  6662. <param name="getServiceBehavior">The instance that will be responsible for generating service instances.</param>
  6663. <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>
  6664. </member>
  6665. <member name="M:LinFu.IoC.ServiceContainer.AddFactory(System.String,System.Type,System.Collections.Generic.IEnumerable{System.Type},LinFu.IoC.Interfaces.IFactory)">
  6666. <summary>
  6667. Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it
  6668. with the given <paramref name="serviceType">service type</paramref> and
  6669. <paramref name="serviceName">service name</paramref>.
  6670. </summary>
  6671. <param name="serviceName">The name of the service to associate with the given <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</param>
  6672. <param name="serviceType">The type of service that the factory will be able to create.</param>
  6673. <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
  6674. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will create the object instance.</param>
  6675. </member>
  6676. <member name="M:LinFu.IoC.ServiceContainer.AddFactory(System.Type,System.Collections.Generic.IEnumerable{System.Type},LinFu.IoC.Interfaces.IFactory)">
  6677. <summary>
  6678. Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it
  6679. with the given <paramref name="serviceType">service type</paramref>.
  6680. </summary>
  6681. <param name="serviceType">The service type to associate with the factory</param>
  6682. <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
  6683. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be responsible for creating the service instance</param>
  6684. </member>
  6685. <member name="M:LinFu.IoC.ServiceContainer.Contains(System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  6686. <summary>
  6687. Determines whether or not the given <paramref name="serviceType" />
  6688. can be instantiated by the container.
  6689. </summary>
  6690. <param name="serviceType">The type of service to instantiate.</param>
  6691. <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
  6692. <returns>Returns <c>true</c> if the service exists; otherwise, it will return <c>false</c>.</returns>
  6693. </member>
  6694. <member name="M:LinFu.IoC.ServiceContainer.GetService(System.Type,System.Object[])">
  6695. <summary>
  6696. Overridden. Causes the container to instantiate the service with the given
  6697. <paramref name="serviceType">service type</paramref>. If the service type cannot be created, then an
  6698. exception will be thrown if the <see cref="P:LinFu.IoC.Interfaces.IContainer.SuppressErrors" /> property
  6699. is set to false. Otherwise, it will simply return null.
  6700. </summary>
  6701. <remarks>
  6702. This overload of the <c>GetService</c> method has been overridden
  6703. so that its results can be handled by the postprocessors.
  6704. </remarks>
  6705. <seealso cref="T:LinFu.IoC.Interfaces.IPostProcessor" />
  6706. <param name="serviceType">The service type to instantiate.</param>
  6707. <param name="additionalArguments">The additional arguments that will be used to instantiate the service type.</param>
  6708. <returns>If successful, it will return a service instance that is compatible with the given type;
  6709. otherwise, it will just return a null value.</returns>
  6710. </member>
  6711. <member name="M:LinFu.IoC.ServiceContainer.GetService(System.String,System.Type,System.Object[])">
  6712. <summary>
  6713. Causes the container to instantiate the service with the given
  6714. <paramref name="serviceType">service type</paramref>. If the service type cannot be created, then an
  6715. exception will be thrown if the <see cref="P:LinFu.IoC.Interfaces.IContainer.SuppressErrors" /> property
  6716. is set to false. Otherwise, it will simply return null.
  6717. </summary>
  6718. <param name="serviceName">The name of the service to instantiate.</param>
  6719. <param name="serviceType">The service type to instantiate.</param>
  6720. <param name="additionalArguments">The additional arguments that will be used to instantiate the service type.</param>
  6721. <returns>If successful, it will return a service instance that is compatible with the given type;
  6722. otherwise, it will just return a <c>null</c> value.</returns>
  6723. </member>
  6724. <member name="M:LinFu.IoC.ServiceContainer.Contains(System.String,System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  6725. <summary>
  6726. Determines whether or not a service can be created using
  6727. the given <paramref name="serviceName">service name</paramref>
  6728. and <paramref name="serviceType">service type</paramref>.
  6729. </summary>
  6730. <param name="serviceName">The name of the service to associate with the given <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</param>
  6731. <param name="serviceType">The type of service that the factory will be able to create.</param>
  6732. <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
  6733. <returns>Returns <c>true</c> if the service exists; otherwise, it will return <c>false</c>.</returns>
  6734. </member>
  6735. <member name="P:LinFu.IoC.ServiceContainer.FactoryStorage">
  6736. <summary>
  6737. Gets the value indicating the <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> instance
  6738. that will be used to store each <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.
  6739. </summary>
  6740. </member>
  6741. <member name="P:LinFu.IoC.ServiceContainer.SuppressErrors">
  6742. <summary>
  6743. Gets or sets a <see cref="T:System.Boolean">System.Boolean</see> value
  6744. that determines whether or not the container should throw
  6745. a <see cref="T:LinFu.IoC.ServiceNotFoundException" /> if a requested service
  6746. cannot be found or created.
  6747. </summary>
  6748. </member>
  6749. <member name="P:LinFu.IoC.ServiceContainer.PostProcessors">
  6750. <summary>
  6751. The list of postprocessors that will handle every
  6752. service request result.
  6753. </summary>
  6754. </member>
  6755. <member name="P:LinFu.IoC.ServiceContainer.PreProcessors">
  6756. <summary>
  6757. The list of preprocessors that will handle
  6758. every service request before each actual service is created.
  6759. </summary>
  6760. </member>
  6761. <member name="P:LinFu.IoC.ServiceContainer.AvailableServices">
  6762. <summary>
  6763. The list of services currently available inside the container.
  6764. </summary>
  6765. </member>
  6766. <member name="T:LinFu.IoC.ServiceNotFoundException">
  6767. <summary>
  6768. The exception thrown when a service type is
  6769. requested from a container and that named container
  6770. is unable to find or create that particular service instance.
  6771. </summary>
  6772. </member>
  6773. <member name="M:LinFu.IoC.ServiceNotFoundException.#ctor(System.Type)">
  6774. <summary>
  6775. Initializes the service exception using the
  6776. given <paramref name="serviceType" /> as
  6777. the service that was not found.
  6778. </summary>
  6779. <param name="serviceType">The service type being requested.</param>
  6780. </member>
  6781. <member name="P:LinFu.IoC.ServiceNotFoundException.Message">
  6782. <summary>
  6783. The error message that this particular exception
  6784. will display.
  6785. </summary>
  6786. </member>
  6787. <member name="T:LinFu.IoC.NamedServiceNotFoundException">
  6788. <summary>
  6789. The exception thrown when a service name and a service type is
  6790. requested from a named container and that named container
  6791. is unable to find or create that particular service instance.
  6792. </summary>
  6793. </member>
  6794. <member name="M:LinFu.IoC.NamedServiceNotFoundException.#ctor(System.String,System.Type)">
  6795. <summary>
  6796. Initializes the service exception using the
  6797. given <paramref name="serviceType" /> as
  6798. the service that was not found.
  6799. </summary>
  6800. <param name="serviceType">The service type being requested.</param>
  6801. <param name="serviceName">The name of the service being requested.</param>
  6802. </member>
  6803. <member name="P:LinFu.IoC.NamedServiceNotFoundException.Message">
  6804. <summary>
  6805. The error message that this particular exception
  6806. will display.
  6807. </summary>
  6808. </member>
  6809. <member name="T:LinFu.IoC.ServiceInfo">
  6810. <summary>
  6811. Represents the default implementation of the ServiceInfo class.
  6812. </summary>
  6813. </member>
  6814. <member name="M:LinFu.IoC.ServiceInfo.#ctor(System.String,System.Type)">
  6815. <summary>
  6816. Initializes the class with the given <paramref name="serviceName" />
  6817. and <paramref name="serviceType" />.
  6818. </summary>
  6819. <param name="serviceName">The name of the service.</param>
  6820. <param name="serviceType">The type of service that can be created.</param>
  6821. </member>
  6822. <member name="M:LinFu.IoC.ServiceInfo.#ctor(System.String,System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  6823. <summary>
  6824. Initializes the class with the given <paramref name="serviceName" />
  6825. and <paramref name="serviceType" />.
  6826. </summary>
  6827. <param name="serviceName">The name of the service.</param>
  6828. <param name="serviceType">The type of service that can be created.</param>
  6829. <param name="arguments">The parameter types required by the given service.</param>
  6830. </member>
  6831. <member name="M:LinFu.IoC.ServiceInfo.ToString">
  6832. <summary>
  6833. Displays the name of the current service and the current service type.
  6834. </summary>
  6835. <returns>The name of the current service and the current service type.</returns>
  6836. </member>
  6837. <member name="M:LinFu.IoC.ServiceInfo.Equals(System.Object)">
  6838. <summary>
  6839. Determines if the other object is equal to the current <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> instance.
  6840. </summary>
  6841. <param name="obj">The other object that will be used in the comparison.</param>
  6842. <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>
  6843. </member>
  6844. <member name="P:LinFu.IoC.ServiceInfo.ServiceName">
  6845. <summary>
  6846. The name of the service being created. By default, this property is blank.
  6847. </summary>
  6848. </member>
  6849. <member name="P:LinFu.IoC.ServiceInfo.ServiceType">
  6850. <summary>
  6851. The type of service being requested.
  6852. </summary>
  6853. </member>
  6854. <member name="P:LinFu.IoC.ServiceInfo.ArgumentTypes">
  6855. <summary>
  6856. Gets a value indicating the list of arguments required by this particular service.
  6857. </summary>
  6858. </member>
  6859. <member name="T:LinFu.IoC.ServiceRequest">
  6860. <summary>
  6861. Reprsents the default implementation of the <see cref="T:LinFu.IoC.Interfaces.IServiceRequest" /> interface.
  6862. </summary>
  6863. </member>
  6864. <member name="M:LinFu.IoC.ServiceRequest.#ctor(System.String,System.Type,System.Object[],LinFu.IoC.Interfaces.IFactory,LinFu.IoC.Interfaces.IServiceContainer)">
  6865. <summary>
  6866. Initializes the <see cref="T:LinFu.IoC.ServiceRequest" /> class.
  6867. </summary>
  6868. <param name="serviceName">The name of the requested service.</param>
  6869. <param name="serviceType">The requested service type.</param>
  6870. <param name="proposedArguments">The proposed set of arguments that will be given to the factory.</param>
  6871. <param name="proposedFactory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be used to handle the service request.</param>
  6872. <param name="container">The host container.</param>
  6873. </member>
  6874. <member name="P:LinFu.IoC.ServiceRequest.ProposedArguments">
  6875. <summary>
  6876. Gets the value indicating the original arguments that
  6877. were given during the service request.
  6878. </summary>
  6879. </member>
  6880. <member name="P:LinFu.IoC.ServiceRequest.ProposedFactory">
  6881. <summary>
  6882. Gets the value indicating the original <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance
  6883. that will be used to handle the service request.
  6884. </summary>
  6885. </member>
  6886. <member name="P:LinFu.IoC.ServiceRequest.Container">
  6887. <summary>
  6888. The container that will handle the service request.
  6889. </summary>
  6890. </member>
  6891. <member name="P:LinFu.IoC.ServiceRequest.ActualArguments">
  6892. <summary>
  6893. Gets or sets the value indicating the actual arguments that
  6894. will be used for the service request.
  6895. </summary>
  6896. </member>
  6897. <member name="P:LinFu.IoC.ServiceRequest.ActualFactory">
  6898. <summary>
  6899. Gets or sets the value indicating the actual <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance
  6900. that will be used to handle the service request.
  6901. </summary>
  6902. </member>
  6903. <member name="T:LinFu.IoC.ServiceRequestResult">
  6904. <summary>
  6905. Represents the results returned when a service request
  6906. is made against an <see cref="T:LinFu.IoC.Interfaces.IContainer" /> instance.
  6907. </summary>
  6908. </member>
  6909. <member name="P:LinFu.IoC.ServiceRequestResult.ServiceName">
  6910. <summary>
  6911. The name of the service being created. By default, this property is blank.
  6912. </summary>
  6913. </member>
  6914. <member name="P:LinFu.IoC.ServiceRequestResult.OriginalResult">
  6915. <summary>
  6916. The raw object reference created by the container itself.
  6917. </summary>
  6918. </member>
  6919. <member name="P:LinFu.IoC.ServiceRequestResult.ActualResult">
  6920. <summary>
  6921. The result that will be returned from the container
  6922. instead of the <see cref="P:LinFu.IoC.ServiceRequestResult.OriginalResult" />.
  6923. If this property is null, then the original result will be used.
  6924. </summary>
  6925. </member>
  6926. <member name="P:LinFu.IoC.ServiceRequestResult.ServiceType">
  6927. <summary>
  6928. The type of service being requested.
  6929. </summary>
  6930. </member>
  6931. <member name="P:LinFu.IoC.ServiceRequestResult.Container">
  6932. <summary>
  6933. The container that will handle the service request.
  6934. </summary>
  6935. </member>
  6936. <member name="P:LinFu.IoC.ServiceRequestResult.AdditionalArguments">
  6937. <summary>
  6938. Gets or sets the value indicating the additional arguments that
  6939. were used during the service request.
  6940. </summary>
  6941. </member>
  6942. <member name="T:LinFu.Proxy.MethodBodyEmitter">
  6943. <summary>
  6944. Provides the default implementation for the
  6945. <see cref="T:LinFu.Proxy.Interfaces.IMethodBodyEmitter" /> interface.
  6946. </summary>
  6947. </member>
  6948. <member name="M:LinFu.Proxy.MethodBodyEmitter.#ctor">
  6949. <summary>
  6950. Initializes the class with the default values.
  6951. </summary>
  6952. </member>
  6953. <member name="M:LinFu.Proxy.MethodBodyEmitter.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  6954. <summary>
  6955. Initializes the MethodBodyEmitter class.
  6956. </summary>
  6957. <param name="source">
  6958. </param>
  6959. </member>
  6960. <member name="M:LinFu.Proxy.MethodBodyEmitter.Emit(System.Reflection.MethodInfo,Mono.Cecil.MethodDefinition)">
  6961. <summary>
  6962. Generates a method body for the <paramref name="targetMethod" />.
  6963. </summary>
  6964. <param name="originalMethod">The method currently being intercepted.</param>
  6965. <param name="targetMethod">The target method that will contain the new method body.</param>
  6966. </member>
  6967. <member name="M:LinFu.Proxy.MethodBodyEmitter.EmitGetInterceptorInstruction(Mono.Cecil.Cil.CilWorker,Mono.Cecil.TypeReference,Mono.Cecil.MethodReference)">
  6968. <summary>
  6969. Emits the IL instructions to obtain an <see cref="T:LinFu.AOP.Interfaces.IInterceptor" /> instance for the proxy type.
  6970. </summary>
  6971. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> responsible for emitting the method body.</param>
  6972. <param name="proxyType">The proxy type.</param>
  6973. <param name="getInterceptorMethod">The getter method for the interceptor.</param>
  6974. </member>
  6975. <member name="M:LinFu.Proxy.MethodBodyEmitter.ImplementNotFound(Mono.Cecil.Cil.CilWorker)">
  6976. <summary>
  6977. Causes the <see cref="T:Mono.Cecil.Cil.CilWorker" /> to make the method throw a
  6978. <see cref="T:System.NotImplementedException" /> if the method cannot be found.
  6979. </summary>
  6980. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> responsible for emitting the method body.</param>
  6981. </member>
  6982. <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)">
  6983. <summary>
  6984. Saves the ref arguments of a given method using the
  6985. <paramref name="arguments" /> from the <paramref name="invocationInfo" />
  6986. object.
  6987. </summary>
  6988. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will emit the method body.</param>
  6989. <param name="parameters">The parameters of the target method.</param>
  6990. <param name="invocationInfo">The local variable that contains the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
  6991. <param name="arguments">The local variable that will store the arguments from the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
  6992. </member>
  6993. <member name="P:LinFu.Proxy.MethodBodyEmitter.InvocationInfoEmitter">
  6994. <summary>
  6995. The <see cref="T:LinFu.AOP.Cecil.Interfaces.IEmitInvocationInfo" /> instance that
  6996. </summary>
  6997. </member>
  6998. <member name="T:LinFu.Proxy.ProxyBuilder">
  6999. <summary>
  7000. A <see cref="T:LinFu.Proxy.Interfaces.IProxyBuilder" /> type that generates
  7001. proxies that forward all virtual method calls to a
  7002. single interceptor.
  7003. </summary>
  7004. </member>
  7005. <member name="M:LinFu.Proxy.ProxyBuilder.#ctor">
  7006. <summary>
  7007. Initializes the current class with the default values.
  7008. </summary>
  7009. </member>
  7010. <member name="M:LinFu.Proxy.ProxyBuilder.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  7011. <summary>
  7012. Initializes the current instance
  7013. with the <paramref name="source" /> container.
  7014. </summary>
  7015. <param name="source">The <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance that will hold the current instance.</param>
  7016. </member>
  7017. <member name="M:LinFu.Proxy.ProxyBuilder.Construct(System.Type,System.Collections.Generic.IEnumerable{System.Type},Mono.Cecil.ModuleDefinition,Mono.Cecil.TypeDefinition)">
  7018. <summary>
  7019. Generates a proxy that forwards all virtual method calls
  7020. to a single <see cref="T:LinFu.AOP.Interfaces.IInterceptor" /> instance.
  7021. </summary>
  7022. <param name="originalBaseType">The base class of the type being constructed.</param>
  7023. <param name="baseInterfaces">The list of interfaces that the new type must implement.</param>
  7024. <param name="module">The module that will hold the brand new type.</param>
  7025. <param name="targetType">The <see cref="T:Mono.Cecil.TypeDefinition" /> that represents the type to be created.</param>
  7026. </member>
  7027. <member name="P:LinFu.Proxy.ProxyBuilder.ProxyImplementor">
  7028. <summary>
  7029. Gets or sets the <see cref="T:LinFu.Reflection.Emit.Interfaces.ITypeBuilder" /> interface
  7030. which will emit the actual implementation of the IProxy interface.
  7031. </summary>
  7032. </member>
  7033. <member name="P:LinFu.Proxy.ProxyBuilder.MethodPicker">
  7034. <summary>
  7035. Gets or sets the <see cref="T:LinFu.Proxy.Interfaces.IMethodPicker" />
  7036. instance that will determine which methods
  7037. will be proxied by the proxy builder.
  7038. </summary>
  7039. </member>
  7040. <member name="P:LinFu.Proxy.ProxyBuilder.ProxyMethodBuilder">
  7041. <summary>
  7042. The <see cref="T:LinFu.Proxy.Interfaces.IMethodBuilder" /> instance
  7043. that will be responsible for generating each method
  7044. for the current target type.
  7045. </summary>
  7046. </member>
  7047. <member name="T:LinFu.Proxy.InterfaceExtractor">
  7048. <summary>
  7049. Provides the default implementation for the
  7050. <see cref="T:LinFu.Proxy.Interfaces.IExtractInterfaces" /> interface.
  7051. </summary>
  7052. </member>
  7053. <member name="M:LinFu.Proxy.InterfaceExtractor.GetInterfaces(System.Type,System.Collections.Generic.HashSet{System.Type})">
  7054. <summary>
  7055. Determines which interfaces a given type should implement.
  7056. </summary>
  7057. <param name="currentType">The base type that holds the list of interfaces to implement.</param>
  7058. <param name="interfaceList">The list of interfaces already being implemented. </param>
  7059. </member>
  7060. <member name="T:LinFu.Proxy.MethodPicker">
  7061. <summary>
  7062. Represents the default class implementation for the
  7063. <see cref="T:LinFu.Proxy.Interfaces.IMethodPicker" /> interface.
  7064. </summary>
  7065. </member>
  7066. <member name="M:LinFu.Proxy.MethodPicker.ChooseProxyMethodsFrom(System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  7067. <summary>
  7068. Determines which methods can be proxied from
  7069. the given <paramref name="baseType" /> and <paramref name="baseInterfaces" />.
  7070. </summary>
  7071. <remarks>By default, only public virtual methods will be proxied.</remarks>
  7072. <param name="baseType">The base class of the proxy type currently being generated.</param>
  7073. <param name="baseInterfaces">The list of interfaces that the proxy must implement.</param>
  7074. <returns>A list of <see cref="T:System.Reflection.MethodInfo" /> objects that can be proxied.</returns>
  7075. </member>
  7076. <member name="T:LinFu.Proxy.ProxyCache">
  7077. <summary>
  7078. Represents the default implementation of the <see cref="T:LinFu.Proxy.Interfaces.IProxyCache" /> interface.
  7079. </summary>
  7080. </member>
  7081. <member name="M:LinFu.Proxy.ProxyCache.Contains(System.Type,System.Type[])">
  7082. <summary>
  7083. Determines whether or not the cache contains an existing proxy type
  7084. that is derived from the <paramref name="baseType" /> and implements
  7085. the given <paramref name="baseInterfaces" />.
  7086. </summary>
  7087. <param name="baseType">The base type of the dynamically-generated proxy type.</param>
  7088. <param name="baseInterfaces">The list of interfaces that the generated proxy type must implement.</param>
  7089. <returns>Returns <c>true</c> if the proxy type already exists; otherwise, it will return <c>false.</c></returns>
  7090. </member>
  7091. <member name="M:LinFu.Proxy.ProxyCache.Get(System.Type,System.Type[])">
  7092. <summary>
  7093. Retrieves an existing proxy type from the cache.
  7094. </summary>
  7095. <param name="baseType">The base type of the dynamically-generated proxy type.</param>
  7096. <param name="baseInterfaces">The list of interfaces that the generated proxy type must implement.</param>
  7097. <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>
  7098. </member>
  7099. <member name="M:LinFu.Proxy.ProxyCache.Store(System.Type,System.Type,System.Type[])">
  7100. <summary>
  7101. Stores a proxy type in the cache.
  7102. </summary>
  7103. <param name="result">The proxy type to be stored.</param>
  7104. <param name="baseType">The base type of the dynamically-generated proxy type.</param>
  7105. <param name="baseInterfaces">The list of interfaces that the generated proxy type must implement.</param>
  7106. </member>
  7107. <member name="T:LinFu.Proxy.ProxyCacheEntry">
  7108. <summary>
  7109. Represents a cached proxy type.
  7110. </summary>
  7111. </member>
  7112. <member name="T:LinFu.Proxy.ProxyFactory">
  7113. <summary>
  7114. Provides the basic implementation for a proxy factory class.
  7115. </summary>
  7116. </member>
  7117. <member name="M:LinFu.Proxy.ProxyFactory.#ctor">
  7118. <summary>
  7119. Initializes the proxy factory with the default values.
  7120. </summary>
  7121. </member>
  7122. <member name="M:LinFu.Proxy.ProxyFactory.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  7123. <summary>
  7124. Initializes the <see cref="T:LinFu.Proxy.ProxyFactory" /> instance
  7125. with the <paramref name="source" /> container.
  7126. </summary>
  7127. <param name="source">The <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance that will hold the ProxyFactory.</param>
  7128. </member>
  7129. <member name="M:LinFu.Proxy.ProxyFactory.CreateProxyType(System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  7130. <summary>
  7131. Creates a proxy type using the given
  7132. <paramref name="baseType" /> as the base class
  7133. and ensures that the proxy type implements the given
  7134. interface types.
  7135. </summary>
  7136. <param name="baseType">The base class from which the proxy type will be derived.</param>
  7137. <param name="baseInterfaces">The list of interfaces that the proxy will implement.</param>
  7138. <returns>A forwarding proxy.</returns>
  7139. </member>
  7140. <member name="P:LinFu.Proxy.ProxyFactory.InterfaceExtractor">
  7141. <summary>
  7142. Gets or sets the <see cref="T:LinFu.Proxy.Interfaces.IExtractInterfaces" /> type that will be
  7143. responsible for determining which interfaces
  7144. the proxy type should implement.
  7145. </summary>
  7146. </member>
  7147. <member name="P:LinFu.Proxy.ProxyFactory.ProxyBuilder">
  7148. <summary>
  7149. The <see cref="T:LinFu.Proxy.Interfaces.IProxyBuilder" /> instance that is
  7150. responsible for generating the proxy type.
  7151. </summary>
  7152. </member>
  7153. <member name="P:LinFu.Proxy.ProxyFactory.Verifier">
  7154. <summary>
  7155. The <see cref="T:LinFu.AOP.Cecil.Interfaces.IVerifier" /> instance that will be used to
  7156. ensure that the generated assemblies are valid.
  7157. </summary>
  7158. </member>
  7159. <member name="P:LinFu.Proxy.ProxyFactory.Cache">
  7160. <summary>
  7161. Gets or sets a value indicating the <see cref="T:LinFu.Proxy.Interfaces.IProxyCache" />
  7162. instance that will be used to cache previous proxy generation runs.
  7163. </summary>
  7164. </member>
  7165. <member name="T:LinFu.Proxy.ProxyImplementor">
  7166. <summary>
  7167. A class that provides the default implementation
  7168. for the IProxy interface.
  7169. </summary>
  7170. </member>
  7171. <member name="M:LinFu.Proxy.ProxyImplementor.Construct(Mono.Cecil.ModuleDefinition,Mono.Cecil.TypeDefinition)">
  7172. <summary>
  7173. Constructs a type that implements the
  7174. <see cref="T:LinFu.Proxy.Interfaces.IProxy" /> interface.
  7175. </summary>
  7176. <param name="module">The module that will hold the target type.</param>
  7177. <param name="targetType">The type that will implement the <see cref="T:LinFu.Proxy.Interfaces.IProxy" /> interface.</param>
  7178. </member>
  7179. <member name="T:LinFu.Proxy.ProxyMethodBuilder">
  7180. <summary>
  7181. Represents the default implementation of the
  7182. <see cref="T:LinFu.Proxy.Interfaces.IMethodBuilder" /> interface.
  7183. </summary>
  7184. </member>
  7185. <member name="M:LinFu.Proxy.ProxyMethodBuilder.#ctor">
  7186. <summary>
  7187. Initializes the <see cref="T:LinFu.Proxy.ProxyMethodBuilder" /> class with the default property values.
  7188. </summary>
  7189. </member>
  7190. <member name="M:LinFu.Proxy.ProxyMethodBuilder.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  7191. <summary>
  7192. Initializes the class with the <paramref name="source" /> container.
  7193. </summary>
  7194. <param name="source">The <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance that will create the class instance.</param>
  7195. </member>
  7196. <member name="M:LinFu.Proxy.ProxyMethodBuilder.CreateMethod(Mono.Cecil.TypeDefinition,System.Reflection.MethodInfo)">
  7197. <summary>
  7198. Creates a method that matches the signature defined in the
  7199. <paramref name="method" /> parameter.
  7200. </summary>
  7201. <param name="targetType">The type that will host the new method.</param>
  7202. <param name="method">The method from which the signature will be derived.</param>
  7203. </member>
  7204. <member name="M:LinFu.Proxy.ProxyMethodBuilder.MatchGenericArguments(Mono.Cecil.MethodDefinition,System.Collections.Generic.ICollection{System.Type})">
  7205. <summary>
  7206. Matches the generic parameters of <paramref name="newMethod">a target method</paramref></summary>
  7207. <param name="newMethod">The generic method that contains the generic type arguments.</param>
  7208. <param name="typeArguments">The array of <see cref="T:System.Type" /> objects that describe the generic parameters for the current method.</param>
  7209. </member>
  7210. <member name="P:LinFu.Proxy.ProxyMethodBuilder.Emitter">
  7211. <summary>
  7212. The <see cref="T:LinFu.Proxy.Interfaces.IMethodBodyEmitter" /> instance that will be
  7213. responsible for generating the method body.
  7214. </summary>
  7215. </member>
  7216. <member name="T:LinFu.Proxy.ProxyObjectReference">
  7217. <summary>
  7218. Represents a helper class that deserializes proxy instances.
  7219. </summary>
  7220. </member>
  7221. <member name="M:LinFu.Proxy.ProxyObjectReference.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
  7222. <summary>
  7223. Initializes a new instance of the ProxyObjectReference class.
  7224. </summary>
  7225. <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> class that contains the serialized data.</param>
  7226. <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that describes the serialization state.</param>
  7227. </member>
  7228. <member name="M:LinFu.Proxy.ProxyObjectReference.GetRealObject(System.Runtime.Serialization.StreamingContext)">
  7229. <summary>
  7230. Returns the deserialized proxy instance.
  7231. </summary>
  7232. <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that describes the serialization state.</param>
  7233. <returns>
  7234. </returns>
  7235. </member>
  7236. <member name="M:LinFu.Proxy.ProxyObjectReference.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
  7237. <summary>
  7238. Serializes the proxy to a stream.
  7239. </summary>
  7240. <remarks>This method override does nothing.</remarks>
  7241. <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> class that contains the serialized data.</param>
  7242. <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that describes the serialization state.</param>
  7243. </member>
  7244. <member name="T:LinFu.Proxy.SerializableProxyBuilder">
  7245. <summary>
  7246. Represents a <see cref="T:LinFu.Proxy.ProxyBuilder" /> type that can create serializable proxy types.
  7247. </summary>
  7248. </member>
  7249. <member name="M:LinFu.Proxy.SerializableProxyBuilder.Construct(System.Type,System.Collections.Generic.IEnumerable{System.Type},Mono.Cecil.ModuleDefinition,Mono.Cecil.TypeDefinition)">
  7250. <summary>
  7251. Generates a proxy that forwards all virtual method calls
  7252. to a single <see cref="T:LinFu.AOP.Interfaces.IInterceptor" /> instance.
  7253. </summary>
  7254. <param name="originalBaseType">The base class of the type being constructed.</param>
  7255. <param name="baseInterfaces">The list of interfaces that the new type must implement.</param>
  7256. <param name="module">The module that will hold the brand new type.</param>
  7257. <param name="targetType">The <see cref="T:Mono.Cecil.TypeDefinition" /> that represents the type to be created.</param>
  7258. </member>
  7259. <member name="T:LinFu.Proxy.ObjectExtensions">
  7260. <summary>
  7261. A class that adds proxy support to the <see cref="T:System.Object" /> class
  7262. </summary>
  7263. </member>
  7264. <member name="M:LinFu.Proxy.ObjectExtensions.CreateDuck``1(System.Object,System.Type[])">
  7265. <summary>
  7266. Creates a duck type that redirects its calls to the
  7267. given <paramref name="target" />.
  7268. </summary>
  7269. <param name="target">The target instance that will be invoked once the duck type instance has been invoked.</param>
  7270. <param name="baseInterfaces">The additional list of interfaces that will be implemented by the duck type.</param>
  7271. <typeparam name="T">The type parameter that describes the duck type.</typeparam>
  7272. <returns>The return value from the target method.</returns>
  7273. </member>
  7274. <member name="M:LinFu.Proxy.ObjectExtensions.CreateDuck(System.Object,System.Type,System.Type[])">
  7275. <summary>
  7276. Creates a duck type that redirects its calls to the
  7277. given <paramref name="target" />.
  7278. </summary>
  7279. <param name="target">The target instance that will be invoked once the duck type instance has been invoked.</param>
  7280. <param name="duckType">The <see cref="T:System.Type" /> that describes the duck type.</param>
  7281. <param name="baseInterfaces">The additional list of interfaces that will be implemented by the duck type.</param>
  7282. <returns>The return value from the target method.</returns>
  7283. </member>
  7284. <member name="T:LinFu.Proxy.CallAdapter">
  7285. <summary>
  7286. Adapts an <see cref="T:LinFu.AOP.Interfaces.IInvokeWrapper" /> instance to an
  7287. <see cref="T:LinFu.AOP.Interfaces.IInterceptor" /> instance.
  7288. </summary>
  7289. </member>
  7290. <member name="M:LinFu.Proxy.CallAdapter.#ctor(LinFu.AOP.Interfaces.IInvokeWrapper)">
  7291. <summary>
  7292. Initializes the CallAdapter class with the <paramref name="wrapper" /> instance.
  7293. </summary>
  7294. <param name="wrapper">The <see cref="T:LinFu.AOP.Interfaces.IInvokeWrapper" /> instance that will be called every time the interceptor is invoked.</param>
  7295. </member>
  7296. <member name="M:LinFu.Proxy.CallAdapter.Intercept(LinFu.AOP.Interfaces.IInvocationInfo)">
  7297. <summary>
  7298. Intercepts a method call and passes the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> arguments
  7299. down to the <see cref="T:LinFu.AOP.Interfaces.IInvokeWrapper" /> instance.
  7300. </summary>
  7301. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the method currently being executed.</param>
  7302. <returns>The return value of the target method.</returns>
  7303. </member>
  7304. <member name="T:LinFu.Proxy.Interfaces.FunctorAsInterceptor">
  7305. <summary>
  7306. A class that converts a functor into an <see cref="T:LinFu.AOP.Interfaces.IInterceptor" /> instance.
  7307. </summary>
  7308. </member>
  7309. <member name="M:LinFu.Proxy.Interfaces.FunctorAsInterceptor.#ctor(System.Func{LinFu.AOP.Interfaces.IInvocationInfo,System.Object})">
  7310. <summary>
  7311. Initializes the class with the given <paramref name="intercept">functor</paramref>.
  7312. </summary>
  7313. <param name="intercept">The functor that will be invoked every time a method is called on the proxy type.</param>
  7314. </member>
  7315. <member name="M:LinFu.Proxy.Interfaces.FunctorAsInterceptor.Intercept(LinFu.AOP.Interfaces.IInvocationInfo)">
  7316. <summary>
  7317. A method that redirects the method calls to
  7318. the functor instance.
  7319. </summary>
  7320. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the context of the method call.</param>
  7321. <returns>The return value from the target method.</returns>
  7322. </member>
  7323. <member name="T:LinFu.Proxy.Interfaces.IExtractInterfaces">
  7324. <summary>
  7325. A class that is responsible for determining
  7326. which interfaces a given type should implement.
  7327. </summary>
  7328. </member>
  7329. <member name="M:LinFu.Proxy.Interfaces.IExtractInterfaces.GetInterfaces(System.Type,System.Collections.Generic.HashSet{System.Type})">
  7330. <summary>
  7331. Determines which interfaces a given type should implement.
  7332. </summary>
  7333. <param name="currentType">The base type that holds the list of interfaces to implement.</param>
  7334. <param name="interfaces">The list of interfaces already being implemented. </param>
  7335. </member>
  7336. <member name="T:LinFu.Proxy.Interfaces.IMethodBodyEmitter">
  7337. <summary>
  7338. Represents a class that is responsible for
  7339. constructing method bodies.
  7340. </summary>
  7341. </member>
  7342. <member name="M:LinFu.Proxy.Interfaces.IMethodBodyEmitter.Emit(System.Reflection.MethodInfo,Mono.Cecil.MethodDefinition)">
  7343. <summary>
  7344. Generates the method body for the <paramref name="targetMethod">target method</paramref>.
  7345. </summary>
  7346. <param name="originalMethod">The original method that the <paramref name="targetMethod" /> will be based on.</param>
  7347. <param name="targetMethod">The method that will contain the method body to be emitted.</param>
  7348. </member>
  7349. <member name="T:LinFu.Proxy.Interfaces.IMethodPicker">
  7350. <summary>
  7351. Represents a class that determines which methods should be proxied
  7352. by a given proxy factory.
  7353. </summary>
  7354. </member>
  7355. <member name="M:LinFu.Proxy.Interfaces.IMethodPicker.ChooseProxyMethodsFrom(System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  7356. <summary>
  7357. Determines which methods should be proxied
  7358. by a given proxy factory.
  7359. </summary>
  7360. <param name="baseType">The base class of the proxy type currently being generated.</param>
  7361. <param name="baseInterfaces">The list of interfaces that the proxy must implement.</param>
  7362. <returns>A list of <see cref="T:System.Reflection.MethodInfo" /> objects that can be proxied.</returns>
  7363. </member>
  7364. <member name="T:LinFu.Proxy.Interfaces.IMethodBuilder">
  7365. <summary>
  7366. Represents a class that generates methods based on other existing
  7367. methods.
  7368. </summary>
  7369. </member>
  7370. <member name="M:LinFu.Proxy.Interfaces.IMethodBuilder.CreateMethod(Mono.Cecil.TypeDefinition,System.Reflection.MethodInfo)">
  7371. <summary>
  7372. Creates a method that matches the signature defined in the
  7373. <paramref name="method" /> parameter.
  7374. </summary>
  7375. <param name="targetType">The type that will host the new method.</param>
  7376. <param name="method">The method from which the signature will be derived.</param>
  7377. </member>
  7378. <member name="T:LinFu.Proxy.Interfaces.IProxyCache">
  7379. <summary>
  7380. Represents an interface for classes that store results from an
  7381. <see cref="T:LinFu.Proxy.Interfaces.IProxyFactory" /> instance.
  7382. </summary>
  7383. </member>
  7384. <member name="M:LinFu.Proxy.Interfaces.IProxyCache.Contains(System.Type,System.Type[])">
  7385. <summary>
  7386. Determines whether or not the cache contains an existing proxy type
  7387. that is derived from the <paramref name="baseType" /> and implements
  7388. the given <paramref name="baseInterfaces" />.
  7389. </summary>
  7390. <param name="baseType">The base type of the dynamically-generated proxy type.</param>
  7391. <param name="baseInterfaces">The list of interfaces that the generated proxy type must implement.</param>
  7392. <returns>Returns <c>true</c> if the proxy type already exists; otherwise, it will return <c>false.</c></returns>
  7393. </member>
  7394. <member name="M:LinFu.Proxy.Interfaces.IProxyCache.Get(System.Type,System.Type[])">
  7395. <summary>
  7396. Retrieves an existing proxy type from the cache.
  7397. </summary>
  7398. <param name="baseType">The base type of the dynamically-generated proxy type.</param>
  7399. <param name="baseInterfaces">The list of interfaces that the generated proxy type must implement.</param>
  7400. <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>
  7401. </member>
  7402. <member name="M:LinFu.Proxy.Interfaces.IProxyCache.Store(System.Type,System.Type,System.Type[])">
  7403. <summary>
  7404. Stores a proxy type in the cache.
  7405. </summary>
  7406. <param name="result">The proxy type to be stored.</param>
  7407. <param name="baseType">The base type of the dynamically-generated proxy type.</param>
  7408. <param name="baseInterfaces">The list of interfaces that the generated proxy type must implement.</param>
  7409. </member>
  7410. <member name="T:LinFu.Proxy.Interfaces.IProxy">
  7411. <summary>
  7412. Represents a dynamically generated proxy instance.
  7413. </summary>
  7414. </member>
  7415. <member name="P:LinFu.Proxy.Interfaces.IProxy.Interceptor">
  7416. <summary>
  7417. The interceptor that will handle all
  7418. calls made to the proxy instance.
  7419. </summary>
  7420. </member>
  7421. <member name="T:LinFu.Proxy.Interfaces.IProxyBuilder">
  7422. <summary>
  7423. Represents a class that is responsible
  7424. for generating proxy types.
  7425. </summary>
  7426. </member>
  7427. <member name="M:LinFu.Proxy.Interfaces.IProxyBuilder.Construct(System.Type,System.Collections.Generic.IEnumerable{System.Type},Mono.Cecil.ModuleDefinition,Mono.Cecil.TypeDefinition)">
  7428. <summary>
  7429. Generates a proxy that must be derived
  7430. from the <paramref name="baseType" /> and implement
  7431. the list of <paramref name="interfaces" />.
  7432. </summary>
  7433. <param name="baseType">The base class of the type being constructed.</param>
  7434. <param name="interfaces">The list of interfaces that the new type must implement.</param>
  7435. <param name="module">The module that will hold the brand new type.</param>
  7436. <param name="targetType">The <see cref="T:Mono.Cecil.TypeDefinition" /> that represents the type to be created.</param>
  7437. </member>
  7438. <member name="T:LinFu.Proxy.Interfaces.IProxyFactory">
  7439. <summary>
  7440. Represents the basic interface for creating
  7441. dynamic proxy instances.
  7442. </summary>
  7443. </member>
  7444. <member name="M:LinFu.Proxy.Interfaces.IProxyFactory.CreateProxyType(System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  7445. <summary>
  7446. Generates a dynamic proxy type
  7447. that derives from the <paramref name="baseType" />
  7448. and implements the given <paramref name="baseInterfaces">interfaces</paramref>.
  7449. </summary>
  7450. <param name="baseType">The base class from which the generated dynamic proxy will be derived.</param>
  7451. <param name="baseInterfaces">The list of interfaces that the generated dynamic proxy will implement.</param>
  7452. <returns>A dynamic proxy type.</returns>
  7453. </member>
  7454. <member name="T:LinFu.Proxy.Interfaces.ProxyFactoryExtensions">
  7455. <summary>
  7456. Extends the <see cref="T:LinFu.Proxy.Interfaces.IProxyFactory" /> class to support
  7457. instantiating proxy types.
  7458. </summary>
  7459. </member>
  7460. <member name="M:LinFu.Proxy.Interfaces.ProxyFactoryExtensions.CreateProxy(LinFu.Proxy.Interfaces.IProxyFactory,System.Type,LinFu.AOP.Interfaces.IInvokeWrapper,System.Type[])">
  7461. <summary>
  7462. Uses the <paramref name="factory" /> to create a proxy instance
  7463. that directly derives from the <paramref name="instanceType" />
  7464. and implements the given <paramref name="baseInterfaces" />.
  7465. The <paramref name="wrapper" /> instance, in turn, will be used
  7466. to intercept the method calls made to the proxy itself.
  7467. </summary>
  7468. <param name="factory">The IProxyFactory instance that will be used to generate the proxy type.</param>
  7469. <param name="instanceType">The type that will be intercepted by the proxy.</param>
  7470. <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>
  7471. <param name="baseInterfaces">The additional list of interfaces that the proxy will implement.</param>
  7472. <returns>A valid proxy instance.</returns>
  7473. </member>
  7474. <member name="M:LinFu.Proxy.Interfaces.ProxyFactoryExtensions.CreateProxy(LinFu.Proxy.Interfaces.IProxyFactory,System.Type,LinFu.AOP.Interfaces.IInterceptor,System.Type[])">
  7475. <summary>
  7476. Uses the <paramref name="factory" /> to create a proxy instance
  7477. that directly derives from the <paramref name="instanceType" />
  7478. and implements the given <paramref name="baseInterfaces" />.
  7479. The <paramref name="interceptor" /> instance, in turn, will be used
  7480. to intercept the method calls made to the proxy itself.
  7481. </summary>
  7482. <param name="factory">The IProxyFactory instance that will be used to generate the proxy type.</param>
  7483. <param name="instanceType">The type that will be intercepted by the proxy.</param>
  7484. <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>
  7485. <param name="baseInterfaces">The additional list of interfaces that the proxy will implement.</param>
  7486. <returns>A valid proxy instance.</returns>
  7487. </member>
  7488. <member name="M:LinFu.Proxy.Interfaces.ProxyFactoryExtensions.CreateProxy``1(LinFu.Proxy.Interfaces.IProxyFactory,LinFu.AOP.Interfaces.IInvokeWrapper,System.Type[])">
  7489. <summary>
  7490. Uses the <paramref name="factory" /> to create a proxy instance
  7491. that directly derives from the <typeparamref name="T" /> type
  7492. and implements the given <paramref name="baseInterfaces" />.
  7493. The <paramref name="wrapper" /> instance, in turn, will be used
  7494. to intercept the method calls made to the proxy itself.
  7495. </summary>
  7496. <typeparam name="T">The type that will be intercepted by the proxy.</typeparam>
  7497. <param name="factory">The IProxyFactory instance that will be used to generate the proxy type.</param>
  7498. <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>
  7499. <param name="baseInterfaces">The additional list of interfaces that the proxy will implement.</param>
  7500. <returns>A valid proxy instance.</returns>
  7501. </member>
  7502. <member name="M:LinFu.Proxy.Interfaces.ProxyFactoryExtensions.CreateProxy``1(LinFu.Proxy.Interfaces.IProxyFactory,LinFu.AOP.Interfaces.IInterceptor,System.Type[])">
  7503. <summary>
  7504. Uses the <paramref name="factory" /> to create a proxy instance
  7505. that directly derives from the <typeparamref name="T" /> type
  7506. and implements the given <paramref name="baseInterfaces" />.
  7507. The <paramref name="interceptor" /> instance, in turn, will be used
  7508. to intercept the method calls made to the proxy itself.
  7509. </summary>
  7510. <typeparam name="T">The type that will be intercepted by the proxy.</typeparam>
  7511. <param name="factory">The IProxyFactory instance that will be used to generate the proxy type.</param>
  7512. <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>
  7513. <param name="baseInterfaces">The additional list of interfaces that the proxy will implement.</param>
  7514. <returns>A valid proxy instance.</returns>
  7515. </member>
  7516. <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[])">
  7517. <summary>
  7518. Uses the <paramref name="proxyFactory" /> to create a proxy instance
  7519. that directly derives from the <typeparamref name="T" /> type
  7520. and implements the given <paramref name="baseInterfaces" />.
  7521. </summary>
  7522. <remarks>
  7523. The <paramref name="proxyImplementation" /> will be used to intercept method calls
  7524. performed against the target instance.
  7525. </remarks>
  7526. <typeparam name="T">The type that will be intercepted by the proxy.</typeparam>
  7527. <param name="proxyFactory">The IProxyFactory instance that will be used to generate the proxy type.</param>
  7528. <param name="proxyImplementation">The functor that will invoked every time a method is called on the proxy.</param>
  7529. <param name="baseInterfaces">The additional list of interfaces that the proxy will implement.</param>
  7530. <returns>A valid proxy instance.</returns>
  7531. </member>
  7532. <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[])">
  7533. <summary>
  7534. Uses the <paramref name="proxyFactory" /> to create a proxy instance
  7535. that directly derives from the <typeparamref name="T" /> type
  7536. and implements the given <paramref name="baseInterfaces" />.
  7537. </summary>
  7538. <remarks>
  7539. The <paramref name="proxyImplementation" /> will be used to intercept method calls
  7540. performed against the target instance.
  7541. </remarks>
  7542. <param name="targetType">The type that will be intercepted by the proxy.</param>
  7543. <param name="proxyFactory">The IProxyFactory instance that will be used to generate the proxy type.</param>
  7544. <param name="proxyImplementation">The functor that will invoked every time a method is called on the proxy.</param>
  7545. <param name="baseInterfaces">The additional list of interfaces that the proxy will implement.</param>
  7546. <returns>A valid proxy instance.</returns>
  7547. </member>
  7548. <member name="T:LinFu.Reflection.ITypeExtractor`2">
  7549. <summary>
  7550. Represents a type that can extract <see cref="T:System.Type" />
  7551. objects from an <see cref="T:System.Reflection.Assembly" /> instance.
  7552. </summary>
  7553. </member>
  7554. <member name="M:LinFu.Reflection.ITypeExtractor`2.GetTypes(`0)">
  7555. <summary>
  7556. Returns a set of types from a given assembly.
  7557. </summary>
  7558. <param name="targetAssembly">The <see cref="T:System.Reflection.Assembly" /> that contains the target types.</param>
  7559. <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1" /> of types from the target assembly.</returns>
  7560. </member>
  7561. <member name="T:LinFu.Reflection.ITypeExtractor">
  7562. <summary>
  7563. Represents a type that can extract <see cref="T:System.Type" />
  7564. objects from an <see cref="T:System.Reflection.Assembly" /> instance.
  7565. </summary>
  7566. </member>
  7567. <member name="T:LinFu.Reflection.IInitialize`1">
  7568. <summary>
  7569. Represents classes that need to be initialized
  7570. every time a particular
  7571. instance creates that type.
  7572. </summary>
  7573. </member>
  7574. <member name="M:LinFu.Reflection.IInitialize`1.Initialize(`0)">
  7575. <summary>
  7576. Initializes the target with the
  7577. particular <typeparamref name="T" /> instance.
  7578. </summary>
  7579. <param name="source">The <typeparamref name="T" /> instance that will hold the target type.</param>
  7580. </member>
  7581. <member name="T:LinFu.Reflection.IActionLoader`2">
  7582. <summary>
  7583. Represents a class that can configure
  7584. a target of type <typeparamref name="TTarget" />
  7585. using an input type of <typeparamref name="TInput" />.
  7586. </summary>
  7587. <typeparam name="TTarget">The target type to configure.</typeparam>
  7588. <typeparam name="TInput">The input that will be used to configure the target.</typeparam>
  7589. </member>
  7590. <member name="M:LinFu.Reflection.IActionLoader`2.Load(`1)">
  7591. <summary>
  7592. Generates a set of <see cref="T:System.Action`1" /> instances
  7593. using the given <paramref name="input" />.
  7594. </summary>
  7595. <param name="input">The input that will be used to configure the target.</param>
  7596. <returns>A set of <see cref="T:System.Action`1" /> instances. This cannot be <c>null</c>.</returns>
  7597. </member>
  7598. <member name="M:LinFu.Reflection.IActionLoader`2.CanLoad(`1)">
  7599. <summary>
  7600. Determines if the PluginLoader can load the <paramref name="inputType" />.
  7601. </summary>
  7602. <param name="inputType">The target type that might contain the target <typeparamref name="TAttribute" /> instance.</param>
  7603. <returns>
  7604. <c>true</c> if the type can be loaded; otherwise, it returns <c>false</c>.</returns>
  7605. </member>
  7606. <member name="T:LinFu.Reflection.ILoaderPlugin`1">
  7607. <summary>
  7608. Represents a component that can monitor
  7609. a target instance as it loads.
  7610. </summary>
  7611. <typeparam name="TTarget">The target instance type.</typeparam>
  7612. </member>
  7613. <member name="M:LinFu.Reflection.ILoaderPlugin`1.BeginLoad(`0)">
  7614. <summary>
  7615. Signals the beginning of a load.
  7616. </summary>
  7617. <param name="target">The target being loaded.</param>
  7618. </member>
  7619. <member name="M:LinFu.Reflection.ILoaderPlugin`1.EndLoad(`0)">
  7620. <summary>
  7621. Signals the end of a load.
  7622. </summary>
  7623. <param name="target">The target being loaded.</param>
  7624. </member>
  7625. <member name="T:LinFu.Reflection.Plugins.BaseLoaderPlugin`1">
  7626. <summary>
  7627. A class that implements the basic functionality of
  7628. a loader plugin.
  7629. </summary>
  7630. <typeparam name="TTarget">The type being loaded.</typeparam>
  7631. </member>
  7632. <member name="M:LinFu.Reflection.Plugins.BaseLoaderPlugin`1.BeginLoad(`0)">
  7633. <summary>
  7634. Signals the beginning of a load.
  7635. </summary>
  7636. <param name="target">The target being loaded.</param>
  7637. </member>
  7638. <member name="M:LinFu.Reflection.Plugins.BaseLoaderPlugin`1.EndLoad(`0)">
  7639. <summary>
  7640. Signals the end of a load.
  7641. </summary>
  7642. <param name="target">The target being loaded.</param>
  7643. </member>
  7644. <member name="T:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`3">
  7645. <summary>
  7646. A plugin class that provides the basic implementation
  7647. for plugins that work with <see cref="T:LinFu.Reflection.IAssemblyTargetLoader`1" /> instances.
  7648. </summary>
  7649. <typeparam name="TTarget">The target type being configured.</typeparam>
  7650. <typeparam name="TAssembly">The assembly type.</typeparam>
  7651. <typeparam name="TType">The input type.</typeparam>
  7652. </member>
  7653. <member name="M:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`3.#ctor(LinFu.Reflection.ITypeExtractor{`1,`2},LinFu.Reflection.IAssemblyTargetLoader{`0,`1,`2})">
  7654. <summary>
  7655. Initializes a new instance of the <see cref="T:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`3" /> class.
  7656. </summary>
  7657. <param name="typeExtractor">The type extractor that will pull the types out of the current assembly.</param>
  7658. <param name="assemblyLoader">The assembly loader that will load the current assembly into memory.</param>
  7659. </member>
  7660. <member name="M:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`3.Initialize(LinFu.Reflection.ILoader{`0})">
  7661. <summary>
  7662. Searches the loader for an <see cref="T:LinFu.Reflection.IAssemblyTargetLoader`1" />
  7663. instance and uses its derived classes to initialize
  7664. the assembly target loader.
  7665. </summary>
  7666. <param name="source">The <see cref="T:LinFu.Reflection.ILoader`1" /> instance that will hold the plugin.</param>
  7667. </member>
  7668. <member name="M:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`3.Initialize(LinFu.Reflection.ILoader{`0},LinFu.Reflection.IAssemblyTargetLoader{`0,`1,`2})">
  7669. <summary>
  7670. Initializes the <paramref name="loader" /> instance
  7671. with the given <paramref name="assemblyLoader" /> instance.
  7672. </summary>
  7673. <param name="loader">The loader being configured.</param>
  7674. <param name="assemblyLoader">The assembly loader that will load the types into the loader itself.</param>
  7675. </member>
  7676. <member name="T:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`1">
  7677. <summary>
  7678. A plugin class that provides the basic implementation
  7679. for plugins that work with <see cref="T:LinFu.Reflection.IAssemblyTargetLoader`1" /> instances.
  7680. </summary>
  7681. </member>
  7682. <member name="M:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`1.#ctor">
  7683. <summary>
  7684. Initializes a new instance of the <see cref="T:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`3" /> class.
  7685. </summary>
  7686. </member>
  7687. <member name="M:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`1.#ctor(LinFu.Reflection.ITypeExtractor{System.Reflection.Assembly,System.Type})">
  7688. <summary>
  7689. Initializes a new instance of the <see cref="T:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`3" /> class.
  7690. </summary>
  7691. <param name="typeExtractor">The type extractor that will pull the types out of the current assembly.</param>
  7692. </member>
  7693. <member name="T:LinFu.Reflection.ILoader`1">
  7694. <summary>
  7695. Represents a generic interface for an abstract loader
  7696. that can read configuration information from disk
  7697. and apply it to a <typeparamref name="TTarget" /> instance.
  7698. </summary>
  7699. <typeparam name="TTarget">The class type being configured.</typeparam>
  7700. </member>
  7701. <member name="M:LinFu.Reflection.ILoader`1.LoadDirectory(System.String,System.String)">
  7702. <summary>
  7703. Loads the configuration using the files listed in
  7704. the target <paramref name="directory" /> that match
  7705. the given <paramref name="filespec">file pattern</paramref>.
  7706. </summary>
  7707. <param name="directory">The full path of the location to scan.</param>
  7708. <param name="filespec">The wildcard file pattern string to use when specifying the target files.</param>
  7709. </member>
  7710. <member name="M:LinFu.Reflection.ILoader`1.LoadInto(`0)">
  7711. <summary>
  7712. Configures the <paramref name="target" /> instance
  7713. using the configuration currently loaded from disk.
  7714. </summary>
  7715. <param name="target">The <typeparamref name="TTarget" /> instance to be configured.</param>
  7716. </member>
  7717. <member name="M:LinFu.Reflection.ILoader`1.Reset">
  7718. <summary>
  7719. Clears the currently loaded configuration
  7720. and resets the loader back to its defaults.
  7721. </summary>
  7722. </member>
  7723. <member name="P:LinFu.Reflection.ILoader`1.Plugins">
  7724. <summary>
  7725. The list of <see cref="T:LinFu.Reflection.ILoaderPlugin`1" />
  7726. instances that will be used to
  7727. signal the beginning and end of the
  7728. load sequence.
  7729. </summary>
  7730. </member>
  7731. <member name="P:LinFu.Reflection.ILoader`1.FileLoaders">
  7732. <summary>
  7733. The list of <see cref="T:LinFu.Reflection.IActionLoader`2" />
  7734. instances responsible for configuring the <typeparamref name="TTarget" /> instance.
  7735. </summary>
  7736. </member>
  7737. <member name="P:LinFu.Reflection.ILoader`1.DirectoryLister">
  7738. <summary>
  7739. Gets or sets the <see cref="T:LinFu.Reflection.IDirectoryListing" /> instance
  7740. responsible for returning a list of filenames
  7741. to the loader for processing.
  7742. </summary>
  7743. </member>
  7744. <member name="P:LinFu.Reflection.ILoader`1.CustomLoaderActions">
  7745. <summary>
  7746. The custom list of actions that will be
  7747. performed prior to the beginning of a load operation.
  7748. </summary>
  7749. </member>
  7750. <member name="P:LinFu.Reflection.ILoader`1.QueuedActions">
  7751. <summary>
  7752. The list of actions that will execute
  7753. every time a target instance is configured.
  7754. </summary>
  7755. </member>
  7756. <member name="T:LinFu.Reflection.Loader`3">
  7757. <summary>
  7758. Represents a generic loader class that can
  7759. load multiple <see cref="T:System.Action`1" /> delegates from multiple files and
  7760. apply them to a particular <typeparamref name="TTarget" /> instance.
  7761. </summary>
  7762. <typeparam name="TTarget">The target type to configure.</typeparam>
  7763. <typeparam name="TAssembly">The assembly type.</typeparam>
  7764. <typeparam name="TType">The target type.</typeparam>
  7765. </member>
  7766. <member name="M:LinFu.Reflection.Loader`3.#ctor(LinFu.Reflection.ITypeExtractor{`1,`2},LinFu.Reflection.IAssemblyLoader{`1})">
  7767. <summary>
  7768. Initializes the target with the default settings.
  7769. </summary>
  7770. </member>
  7771. <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})">
  7772. <summary>
  7773. Initializes the target with the default settings.
  7774. </summary>
  7775. </member>
  7776. <member name="M:LinFu.Reflection.Loader`3.LoadDirectory(System.String,System.String)">
  7777. <summary>
  7778. Loads the container with the files listed in
  7779. the target <paramref name="directory" /> that match
  7780. the given <paramref name="filespec">file pattern</paramref>.
  7781. </summary>
  7782. <param name="directory">The full path of the location to scan.</param>
  7783. <param name="filespec">The wildcard file pattern string to use when specifying the target files.</param>
  7784. </member>
  7785. <member name="M:LinFu.Reflection.Loader`3.LoadInto(`0)">
  7786. <summary>
  7787. Loads the current configuration into the <paramref name="target" />
  7788. instance.
  7789. </summary>
  7790. <param name="target">
  7791. </param>
  7792. </member>
  7793. <member name="M:LinFu.Reflection.Loader`3.Reset">
  7794. <summary>
  7795. Clears the currently loaded configuration
  7796. and resets the loader back to its defaults.
  7797. </summary>
  7798. </member>
  7799. <member name="M:LinFu.Reflection.Loader`3.AutoLoadFrom(System.String,System.String,`0)">
  7800. <summary>
  7801. Monitors the given <paramref name="directory" /> for any file changes and
  7802. updates the current loader whenever the files that match the given <paramref name="fileSpec" />
  7803. are loaded into memory
  7804. </summary>
  7805. <param name="directory">The full path of the location to scan.</param>
  7806. <param name="fileSpec">The wildcard file pattern string to use when specifying the target files.</param>
  7807. <param name="target">The target that will be loaded using the current loader.</param>
  7808. </member>
  7809. <member name="M:LinFu.Reflection.Loader`3.ShouldLoad(LinFu.Reflection.ILoaderPlugin{`0})">
  7810. <summary>
  7811. Determines whether or not a specific plugin should be loaded.
  7812. </summary>
  7813. <param name="plugin">The target plugin to be loaded.</param>
  7814. <returns>
  7815. <c>true</c> if the plugin should be loaded; otherwise, it will return <c>false</c>.</returns>
  7816. </member>
  7817. <member name="M:LinFu.Reflection.Loader`3.LoadFile(System.String)">
  7818. <summary>
  7819. Loads the <paramref name="currentFile">current file</paramref>
  7820. using the list of associated <see cref="P:LinFu.Reflection.Loader`3.FileLoaders" />.
  7821. </summary>
  7822. <param name="currentFile">The full path and filename being loaded.</param>
  7823. </member>
  7824. <member name="P:LinFu.Reflection.Loader`3.QueuedActions">
  7825. <summary>
  7826. The list of actions that will execute
  7827. every time a target instance is configured.
  7828. </summary>
  7829. </member>
  7830. <member name="P:LinFu.Reflection.Loader`3.CustomLoaderActions">
  7831. <summary>
  7832. The custom list of actions that will be
  7833. performed prior to the beginning of the first load operation.
  7834. </summary>
  7835. <remarks>
  7836. These actions will be performed only once per reset.
  7837. </remarks>
  7838. </member>
  7839. <member name="P:LinFu.Reflection.Loader`3.Plugins">
  7840. <summary>
  7841. The list of <see cref="T:LinFu.Reflection.ILoaderPlugin`1" />
  7842. instances that will be used to
  7843. signal the beginning and end of the
  7844. load sequence.
  7845. </summary>
  7846. </member>
  7847. <member name="P:LinFu.Reflection.Loader`3.FileLoaders">
  7848. <summary>
  7849. The list of <see cref="T:LinFu.Reflection.IActionLoader`2" />
  7850. instances responsible for configuring the target instance.
  7851. </summary>
  7852. </member>
  7853. <member name="P:LinFu.Reflection.Loader`3.DirectoryLister">
  7854. <summary>
  7855. Gets or sets the <see cref="T:LinFu.Reflection.IDirectoryListing" /> instance
  7856. responsible for returning a list of filenames
  7857. to the loader for processing.
  7858. </summary>
  7859. </member>
  7860. <member name="T:LinFu.Reflection.Loader`1">
  7861. <summary>
  7862. Represents a generic loader class that can
  7863. load multiple <see cref="T:System.Action`1" /> delegates from multiple files and
  7864. apply them to a particular <typeparamref name="TTarget" /> instance.
  7865. </summary>
  7866. <typeparam name="TTarget">
  7867. </typeparam>
  7868. </member>
  7869. <member name="M:LinFu.Reflection.Loader`1.#ctor">
  7870. <summary>
  7871. Initializes the target with the default settings.
  7872. </summary>
  7873. </member>
  7874. <member name="T:LinFu.Reflection.Runtime">
  7875. <summary>
  7876. Adds helper methods that return information about the current
  7877. runtime.
  7878. </summary>
  7879. </member>
  7880. <member name="P:LinFu.Reflection.Runtime.IsRunningOnMono">
  7881. <summary>
  7882. Gets a value indicating if the application is
  7883. currently running on the Mono platform.
  7884. </summary>
  7885. </member>
  7886. <member name="T:LinFu.Reflection.BasePluginLoader`2">
  7887. <summary>
  7888. Implements the basic functionality of a plugin loader.
  7889. </summary>
  7890. <typeparam name="TTarget">The target type being configured.</typeparam>
  7891. <typeparam name="TAttribute">The attribute type that will be used to mark a type as a plugin.</typeparam>
  7892. </member>
  7893. <member name="M:LinFu.Reflection.BasePluginLoader`2.CanLoad(System.Type)">
  7894. <summary>
  7895. Determines if the plugin loader can load the <paramref name="inputType" />.
  7896. </summary>
  7897. <param name="inputType">The target type that might contain the target <typeparamref name="TAttribute" /> instance.</param>
  7898. <returns>
  7899. <c>true</c> if the type can be loaded; otherwise, it returns <c>false</c>.</returns>
  7900. </member>
  7901. <member name="M:LinFu.Reflection.BasePluginLoader`2.Load(System.Type)">
  7902. <summary>
  7903. Generates a set of <see cref="T:System.Action`1" /> instances
  7904. using the given <paramref name="input" />.
  7905. </summary>
  7906. <param name="input">The input that will be used to configure the target.</param>
  7907. <returns>A set of <see cref="T:System.Action`1" /> instances. This cannot be <c>null</c>.</returns>
  7908. </member>
  7909. <member name="T:LinFu.Reflection.CollectionLoader`1">
  7910. <summary>
  7911. Represents an action loader that can load collections from types embedded within a given assembly.
  7912. </summary>
  7913. <typeparam name="T">The collection item type.</typeparam>
  7914. </member>
  7915. <member name="M:LinFu.Reflection.CollectionLoader`1.Load(System.Type)">
  7916. <summary>
  7917. Creates the list of actions that load the target collection into memory.
  7918. </summary>
  7919. <param name="input">The source type.</param>
  7920. <returns>A list of actions that load the target collection into memory.</returns>
  7921. </member>
  7922. <member name="M:LinFu.Reflection.CollectionLoader`1.CanLoad(System.Type)">
  7923. <summary>
  7924. Determines whether or not the given type can be loaded into memory.
  7925. </summary>
  7926. <param name="inputType">The source type.</param>
  7927. <returns>Returns <c>true</c> if the type can be loaded into memory; otherwise, it will return <c>false</c>.</returns>
  7928. </member>
  7929. <member name="T:LinFu.Reflection.IAssemblyTargetLoader`3">
  7930. <summary>
  7931. Represents a specific <see cref="T:LinFu.Reflection.IActionLoader`2" />
  7932. type that can load configuration information from an assembly
  7933. and apply it to a <typeparamref name="TTarget" /> instance.
  7934. </summary>
  7935. <typeparam name="TTarget">The target type to configure.</typeparam>
  7936. <typeparam name="TAssembly">The assembly type.</typeparam>
  7937. <typeparam name="TType">The input type.</typeparam>
  7938. </member>
  7939. <member name="P:LinFu.Reflection.IAssemblyTargetLoader`3.AssemblyLoader">
  7940. <summary>
  7941. The <see cref="T:LinFu.Reflection.IAssemblyLoader" /> instance that will load
  7942. the target assemblies.
  7943. </summary>
  7944. </member>
  7945. <member name="P:LinFu.Reflection.IAssemblyTargetLoader`3.TypeLoaders">
  7946. <summary>
  7947. The list of ActionLoaders that will be used to
  7948. configure the target.
  7949. </summary>
  7950. </member>
  7951. <member name="T:LinFu.Reflection.AssemblyTargetLoader`3">
  7952. <summary>
  7953. Represents a loader class that takes <see cref="T:System.Type" />
  7954. instances as input and generates <see cref="T:System.Action`1" />
  7955. instances that can be used to configure a <typeparamref name="TTarget" />
  7956. instance.
  7957. </summary>
  7958. <typeparam name="TTarget">The target type to configure.</typeparam>
  7959. <typeparam name="TAssembly">The assembly type.</typeparam>
  7960. <typeparam name="TType">The target type.</typeparam>
  7961. </member>
  7962. <member name="M:LinFu.Reflection.AssemblyTargetLoader`3.#ctor(LinFu.Reflection.ITypeExtractor{`1,`2},LinFu.Reflection.IAssemblyLoader{`1})">
  7963. <summary>
  7964. Initializes a new instance of the <see cref="T:LinFu.Reflection.AssemblyTargetLoader`3" /> class.
  7965. </summary>
  7966. </member>
  7967. <member name="M:LinFu.Reflection.AssemblyTargetLoader`3.CanLoad(System.String)">
  7968. <summary>
  7969. Determines whether or not the current type loader
  7970. instance can load the current file type.
  7971. </summary>
  7972. <remarks>
  7973. This class only loads assemblies with the ".dll" extension.
  7974. </remarks>
  7975. <param name="filename">The filename and full path of the target file.</param>
  7976. <returns>Returns <c>true</c> if the file can be loaded; otherwise, the result is <c>false</c>.</returns>
  7977. </member>
  7978. <member name="M:LinFu.Reflection.AssemblyTargetLoader`3.Load(System.String)">
  7979. <summary>
  7980. Reads an input file using the given <paramref name="filename" />
  7981. and converts it into a set of <see cref="T:System.Action`1" />
  7982. instances that can be applied to a target class instance..
  7983. </summary>
  7984. <remarks>This class can only load valid .NET Assemblies.</remarks>
  7985. <param name="filename">The target file to be loaded.</param>
  7986. <returns>A set of <see cref="T:System.Action`1" /> instances to apply to a target type.</returns>
  7987. </member>
  7988. <member name="P:LinFu.Reflection.AssemblyTargetLoader`3.AssemblyActionLoader">
  7989. <summary>
  7990. Gets or sets the value indicating the action loader
  7991. responsible for reading an assembly and converts it to
  7992. a list of actions to be performed against the target type.
  7993. </summary>
  7994. </member>
  7995. <member name="P:LinFu.Reflection.AssemblyTargetLoader`3.AssemblyLoader">
  7996. <summary>
  7997. The <see cref="T:LinFu.Reflection.IAssemblyLoader" /> instance that will load
  7998. the target assemblies.
  7999. </summary>
  8000. </member>
  8001. <member name="P:LinFu.Reflection.AssemblyTargetLoader`3.TypeLoaders">
  8002. <summary>
  8003. The list of ActionLoaders that will be used to
  8004. configure the target.
  8005. </summary>
  8006. </member>
  8007. <member name="T:LinFu.Reflection.AssemblyTargetLoader`1">
  8008. <summary>
  8009. Represents a loader class that takes <see cref="T:System.Type" />
  8010. instances as input and generates <see cref="T:System.Action`1" />
  8011. instances that can be used to configure a <typeparamref name="TTarget" />
  8012. instance.
  8013. </summary>
  8014. <typeparam name="TTarget">The target type to configure.</typeparam>
  8015. </member>
  8016. <member name="M:LinFu.Reflection.AssemblyTargetLoader`1.#ctor">
  8017. <summary>
  8018. Initializes the class with the default property values.
  8019. </summary>
  8020. </member>
  8021. <member name="T:LinFu.Reflection.AssemblyActionLoader`3">
  8022. <summary>
  8023. A class that reads an assembly and converts it into a set of actions
  8024. that can be used to build the list of actions against the <typeparamref name="TTarget" />
  8025. type.
  8026. </summary>
  8027. <typeparam name="TTarget">The target type.</typeparam>
  8028. <typeparam name="TAssembly">The assembly type.</typeparam>
  8029. <typeparam name="TType">The target input type.</typeparam>
  8030. </member>
  8031. <member name="M:LinFu.Reflection.AssemblyActionLoader`3.#ctor(System.Func{System.Collections.Generic.IList{LinFu.Reflection.IActionLoader{`0,`2}}},LinFu.Reflection.ITypeExtractor{`1,`2})">
  8032. <summary>
  8033. Initializes the class with a set of <see cref="T:LinFu.Reflection.IActionLoader`2" />
  8034. instances that will be used to load the target assembly.
  8035. </summary>
  8036. <param name="getTypeLoaders">The delegate that will return the actual list of typeloaders.</param>
  8037. <param name="typeExtractor">The type extractor that will be responsible for pulling the types out of the current assembly.</param>
  8038. </member>
  8039. <member name="M:LinFu.Reflection.AssemblyActionLoader`3.Load(`1)">
  8040. <summary>
  8041. Loads the target assembly and creates an action that can
  8042. create the list of actions which will modify the <typeparamref name="TTarget" /> instance.
  8043. </summary>
  8044. <param name="input">The target assembly.</param>
  8045. <returns>The list of actions which will modify the list of actions that will be executed against the <typeparamref name="TTarget" /> instance.</returns>
  8046. </member>
  8047. <member name="M:LinFu.Reflection.AssemblyActionLoader`3.CanLoad(`1)">
  8048. <summary>
  8049. Determines if an assembly can be loaded.
  8050. </summary>
  8051. <param name="assembly">The target assembly.</param>
  8052. <returns>Returns <c>true</c> if the assembly is not <c>null</c>.</returns>
  8053. </member>
  8054. <member name="M:LinFu.Reflection.AssemblyActionLoader`3.CreateActionsFrom(`1,System.Collections.Generic.ICollection{System.Action{`0}})">
  8055. <summary>
  8056. Generates a list of actions from a target assemby.
  8057. </summary>
  8058. <param name="assembly">The target assembly.</param>
  8059. <param name="resultList">The list that will store the resulting actions.</param>
  8060. </member>
  8061. <member name="M:LinFu.Reflection.AssemblyActionLoader`3.LoadResultsFromType(`2,System.Collections.Generic.ICollection{System.Action{`0}})">
  8062. <summary>
  8063. Generates the list of <see cref="T:System.Action`1" />
  8064. instances which will be used to configure a target instance.
  8065. </summary>
  8066. <param name="type">The <see cref="T:System.Type" /> instance that holds the configuration information.</param>
  8067. <param name="results">The list that will hold the actions which will configure the container.</param>
  8068. </member>
  8069. <member name="P:LinFu.Reflection.AssemblyActionLoader`3.TypeExtractor">
  8070. <summary>
  8071. The <see cref="T:LinFu.Reflection.ITypeExtractor" /> instance that will
  8072. determine which types will be extracted from an assembly.
  8073. </summary>
  8074. </member>
  8075. <member name="T:LinFu.Reflection.AssemblyActionLoader`1">
  8076. <summary>
  8077. A class that reads an assembly and converts it into a set of actions
  8078. that can be used to build the list of actions against the <typeparamref name="TTarget" />
  8079. type.
  8080. </summary>
  8081. <typeparam name="TTarget">The target type.</typeparam>
  8082. </member>
  8083. <member name="M:LinFu.Reflection.AssemblyActionLoader`1.#ctor(System.Func{System.Collections.Generic.IList{LinFu.Reflection.IActionLoader{`0,System.Type}}})">
  8084. <summary>
  8085. Initializes the class with a set of <see cref="T:LinFu.Reflection.IActionLoader`2" />
  8086. instances that will be used to load the target assembly.
  8087. </summary>
  8088. <param name="getTypeLoaders">The delegate that will return the actual list of typeloaders.</param>
  8089. </member>
  8090. <member name="T:LinFu.Reflection.LoaderPluginAttribute">
  8091. <summary>
  8092. Marks a class as a loader plugin type.
  8093. </summary>
  8094. </member>
  8095. <member name="T:LinFu.Reflection.TypeExtractor">
  8096. <summary>
  8097. Represents a type that can extract <see cref="T:System.Type" />
  8098. objects from an <see cref="T:System.Reflection.Assembly" /> instance.
  8099. </summary>
  8100. </member>
  8101. <member name="M:LinFu.Reflection.TypeExtractor.GetTypes(System.Reflection.Assembly)">
  8102. <summary>
  8103. Returns a set of types from a given assembly.
  8104. </summary>
  8105. <param name="targetAssembly">The <see cref="T:System.Reflection.Assembly" /> that contains the target types.</param>
  8106. <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1" /> of types from the target assembly.</returns>
  8107. </member>
  8108. <member name="T:LinFu.Reflection.IDirectoryListing">
  8109. <summary>
  8110. Represents a class that can list the files
  8111. in a given directory.
  8112. </summary>
  8113. </member>
  8114. <member name="M:LinFu.Reflection.IDirectoryListing.GetFiles(System.String,System.String)">
  8115. <summary>
  8116. Returns the names of the files in the specified directory
  8117. that match the specified search pattern.
  8118. </summary>
  8119. <param name="path">The directory to search.</param>
  8120. <param name="searchPattern">The search string to match against the names of the files in the <paramref name="path" />.</param>
  8121. <returns>The list of files that match the <paramref name="path" /> and <paramref name="searchPattern" /></returns>
  8122. </member>
  8123. <member name="T:LinFu.Reflection.DefaultDirectoryLister">
  8124. <summary>
  8125. A class that lists the contents of a given directory.
  8126. </summary>
  8127. </member>
  8128. <member name="M:LinFu.Reflection.DefaultDirectoryLister.GetFiles(System.String,System.String)">
  8129. <summary>
  8130. Returns a list of files that match the <paramref name="searchPattern" />
  8131. from the given directory <paramref name="path" />.
  8132. </summary>
  8133. <param name="path">The target directory to search.</param>
  8134. <param name="searchPattern">The search string to match against the names of the files in the <paramref name="path" />.</param>
  8135. <returns>The list of files that match the <paramref name="path" /> and <paramref name="searchPattern" /></returns>
  8136. </member>
  8137. <member name="T:LinFu.Reflection.IAssemblyTargetLoader`1">
  8138. <summary>
  8139. Represents a specific <see cref="T:LinFu.Reflection.IActionLoader`2" />
  8140. type that can load configuration information from an assembly
  8141. and apply it to a <typeparamref name="TTarget" /> instance.
  8142. </summary>
  8143. <typeparam name="TTarget">The target type to configure.</typeparam>
  8144. </member>
  8145. <member name="P:LinFu.Reflection.IAssemblyTargetLoader`1.AssemblyLoader">
  8146. <summary>
  8147. The <see cref="T:LinFu.Reflection.IAssemblyLoader" /> instance that will load
  8148. the target assemblies.
  8149. </summary>
  8150. </member>
  8151. <member name="P:LinFu.Reflection.IAssemblyTargetLoader`1.TypeLoaders">
  8152. <summary>
  8153. The list of ActionLoaders that will be used to
  8154. configure the target.
  8155. </summary>
  8156. </member>
  8157. <member name="T:LinFu.Reflection.IAssemblyLoader`1">
  8158. <summary>
  8159. Represents a class that loads assemblies into memory
  8160. from disk.
  8161. </summary>
  8162. <typeparam name="TAssembly">
  8163. </typeparam>
  8164. </member>
  8165. <member name="M:LinFu.Reflection.IAssemblyLoader`1.Load(System.String)">
  8166. <summary>
  8167. Loads the target assembly into memory.
  8168. </summary>
  8169. <param name="assemblyFile">The full path and filename of the assembly to load.</param>
  8170. <returns>A loaded <see cref="T:System.Reflection.Assembly" /> instance.</returns>
  8171. </member>
  8172. <member name="T:LinFu.Reflection.IAssemblyLoader">
  8173. <summary>
  8174. Represents a class that loads assemblies into memory
  8175. from disk.
  8176. </summary>
  8177. </member>
  8178. <member name="T:LinFu.Reflection.AssemblyLoader">
  8179. <summary>
  8180. Represents a class that loads assemblies into memory
  8181. from disk.
  8182. </summary>
  8183. </member>
  8184. <member name="M:LinFu.Reflection.AssemblyLoader.Load(System.String)">
  8185. <summary>
  8186. Loads the target assembly into memory.
  8187. </summary>
  8188. <param name="assemblyFile">The full path and filename of the assembly to load.</param>
  8189. <returns>A loaded <see cref="T:System.Reflection.Assembly" /> instance.</returns>
  8190. </member>
  8191. <member name="T:LinFu.Reflection.PluginLoader`2">
  8192. <summary>
  8193. Represents a loader class that can load
  8194. <see cref="T:LinFu.Reflection.ILoaderPlugin`1" /> instances
  8195. marked with a particular <typeparamref name="TAttribute" />
  8196. type.
  8197. </summary>
  8198. <typeparam name="TTarget">The target type being configured.</typeparam>
  8199. <typeparam name="TAttribute">The attribute type that marks a type as a plugin type.</typeparam>
  8200. </member>
  8201. <member name="M:LinFu.Reflection.PluginLoader`2.CanLoad(System.Type)">
  8202. <summary>
  8203. Determines if the plugin loader can load the <paramref name="inputType" />.
  8204. </summary>
  8205. <remarks>The target type must implement <see cref="T:LinFu.Reflection.ILoaderPlugin`1" /> before it can be loaded.</remarks>
  8206. <param name="inputType">The target type that might contain the target <typeparamref name="TAttribute" /> instance.</param>
  8207. <returns>
  8208. <c>true</c> if the type can be loaded; otherwise, it returns <c>false</c>.</returns>
  8209. </member>
  8210. <member name="M:LinFu.Reflection.PluginLoader`2.Load(System.Type)">
  8211. <summary>
  8212. Loads a set of actions from a <see cref="T:System.Type" />
  8213. instance.
  8214. </summary>
  8215. <param name="input">The target type to scan.</param>
  8216. <returns>A set of actions which will be applied to the target <see cref="T:LinFu.Reflection.ILoader`1" /> instance.</returns>
  8217. </member>
  8218. <member name="T:LinFu.Reflection.CollectionExtensions">
  8219. <summary>
  8220. Adds additional support methods to the standard System.Collection classes.
  8221. </summary>
  8222. </member>
  8223. <member name="M:LinFu.Reflection.CollectionExtensions.HasElementWith``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Boolean})">
  8224. <summary>
  8225. Determines whether or not an element exists that matches the given
  8226. <paramref name="predicate" />.
  8227. </summary>
  8228. <typeparam name="T">The element type.</typeparam>
  8229. <param name="items">The list of items being searched.</param>
  8230. <param name="predicate">The predicate that will be used to describe the matching items.</param>
  8231. <returns>Returns <c>true</c> if at least one match is found; otherwise, it will return <c>false</c>.</returns>
  8232. </member>
  8233. <member name="M:LinFu.Reflection.CollectionExtensions.LoadFrom``1(System.Collections.Generic.ICollection{``0},System.String,System.String)">
  8234. <summary>
  8235. Loads a list of types that match the given <typeparamref name="T">target type</typeparamref>.
  8236. </summary>
  8237. <typeparam name="T">The target type to be loaded.</typeparam>
  8238. <param name="list">The list that will hold the instances of the target type.</param>
  8239. <param name="targetDirectory">The directory that will be used to scan for assemblies that contain the target type.</param>
  8240. <param name="filespec">The wildcard pattern that describes the files to be loaded.</param>
  8241. </member>
  8242. <member name="T:LinFu.Reflection.Emit.AssemblyDefinitionExtensions">
  8243. <summary>
  8244. A class that adds extension methods to the <see cref="T:Mono.Cecil.AssemblyDefinition" />
  8245. class.
  8246. </summary>
  8247. </member>
  8248. <member name="M:LinFu.Reflection.Emit.AssemblyDefinitionExtensions.ToAssembly(Mono.Cecil.AssemblyDefinition)">
  8249. <summary>
  8250. Converts an <see cref="T:Mono.Cecil.AssemblyDefinition" />
  8251. into a running <see cref="T:System.Reflection.Assembly" />.
  8252. </summary>
  8253. <param name="definition">The <see cref="T:Mono.Cecil.AssemblyDefinition" /> to convert.</param>
  8254. <returns>An <see cref="T:System.Reflection.Assembly" /> that represents the <see cref="T:Mono.Cecil.AssemblyDefinition" /> instance.
  8255. </returns>
  8256. </member>
  8257. <member name="M:LinFu.Reflection.Emit.AssemblyDefinitionExtensions.Save(Mono.Cecil.AssemblyDefinition,System.String)">
  8258. <summary>
  8259. Saves the assembly to disk.
  8260. </summary>
  8261. <param name="definition">The target assembly definition.</param>
  8262. <param name="filename">The output file name.</param>
  8263. </member>
  8264. <member name="M:LinFu.Reflection.Emit.AssemblyDefinitionExtensions.Save(Mono.Cecil.AssemblyDefinition,System.IO.Stream)">
  8265. <summary>
  8266. Saves the assembly to disk.
  8267. </summary>
  8268. <param name="definition">The target assembly definition.</param>
  8269. <param name="outputStream">The destination file stream.</param>
  8270. </member>
  8271. <member name="T:LinFu.Reflection.Emit.CilWorkerExtensions">
  8272. <summary>
  8273. A class that extends the <see cref="T:Mono.Cecil.Cil.CilWorker" /> class
  8274. with helper methods that make it easier to save
  8275. information about the method currently being implemented.
  8276. </summary>
  8277. </member>
  8278. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.EmitWriteLineIfNull(Mono.Cecil.Cil.CilWorker,System.String,Mono.Cecil.Cil.VariableDefinition)">
  8279. <summary>
  8280. Emits a Console.WriteLine call to using the current CilWorker that will only be called if the contents
  8281. of the target variable are null at runtime.
  8282. </summary>
  8283. <param name="IL">The target CilWorker.</param>
  8284. <param name="text">The text that will be written to the console.</param>
  8285. <param name="targetVariable">The target variable that will be checked for null at runtime.</param>
  8286. </member>
  8287. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.EmitWriteLine(Mono.Cecil.Cil.CilWorker,System.String)">
  8288. <summary>
  8289. Emits a Console.WriteLine call using the current CilWorker.
  8290. </summary>
  8291. <param name="IL">The target CilWorker.</param>
  8292. <param name="text">The text that will be written to the console.</param>
  8293. </member>
  8294. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.PushMethod(Mono.Cecil.Cil.CilWorker,Mono.Cecil.MethodReference,Mono.Cecil.ModuleDefinition)">
  8295. <summary>
  8296. Pushes the current <paramref name="method" /> onto the stack.
  8297. </summary>
  8298. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will be used to create the instructions.</param>
  8299. <param name="method">The method that represents the <see cref="T:System.Reflection.MethodInfo" /> that will be pushed onto the stack.</param>
  8300. <param name="module">The module that contains the host method.</param>
  8301. </member>
  8302. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.GetDeclaringType(Mono.Cecil.MethodReference)">
  8303. <summary>
  8304. Gets the declaring type for the target method.
  8305. </summary>
  8306. <param name="method">The target method.</param>
  8307. <returns>The declaring type.</returns>
  8308. </member>
  8309. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.PushType(Mono.Cecil.Cil.CilWorker,Mono.Cecil.TypeReference,Mono.Cecil.ModuleDefinition)">
  8310. <summary>
  8311. Pushes a <paramref name="Type" /> instance onto the stack.
  8312. </summary>
  8313. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will be used to create the instructions.</param>
  8314. <param name="type">The type that represents the <see cref="T:System.Type" /> that will be pushed onto the stack.</param>
  8315. <param name="module">The module that contains the host method.</param>
  8316. </member>
  8317. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.PushField(Mono.Cecil.Cil.CilWorker,Mono.Cecil.FieldReference,Mono.Cecil.ModuleDefinition)">
  8318. <summary>
  8319. Pushes the current <paramref name="field" /> onto the stack.
  8320. </summary>
  8321. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will be used to create the instructions.</param>
  8322. <param name="field">The field that represents the <see cref="T:System.Reflection.FieldInfo" /> that will be pushed onto the stack.</param>
  8323. <param name="module">The module that contains the target field.</param>
  8324. </member>
  8325. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.PushArguments(Mono.Cecil.Cil.CilWorker,Mono.Cecil.IMethodSignature,Mono.Cecil.ModuleDefinition,Mono.Cecil.Cil.VariableDefinition)">
  8326. <summary>
  8327. Pushes the arguments of a method onto the stack.
  8328. </summary>
  8329. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will be used to create the instructions.</param>
  8330. <param name="module">The module that contains the host method.</param>
  8331. <param name="method">The target method.</param>
  8332. <param name="arguments">The <see cref="T:Mono.Cecil.Cil.VariableDefinition">local variable</see> that will hold the array of arguments.</param>
  8333. </member>
  8334. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.PushStackTrace(Mono.Cecil.Cil.CilWorker,Mono.Cecil.ModuleDefinition)">
  8335. <summary>
  8336. Pushes the stack trace of the currently executing method onto the stack.
  8337. </summary>
  8338. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will be used to create the instructions.</param>
  8339. <param name="module">The module that contains the host method.</param>
  8340. </member>
  8341. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.PushGenericArguments(Mono.Cecil.Cil.CilWorker,Mono.Cecil.IGenericParameterProvider,Mono.Cecil.ModuleDefinition,Mono.Cecil.Cil.VariableDefinition)">
  8342. <summary>
  8343. Saves the generic type arguments that were used to construct the method.
  8344. </summary>
  8345. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will be used to create the instructions.</param>
  8346. <param name="method">The target method whose generic type arguments (if any) will be saved into the <paramref name="typeArguments">local variable</paramref>.</param>
  8347. <param name="module">The module that contains the host method.</param>
  8348. <param name="typeArguments">The local variable that will store the resulting array of <see cref="T:System.Type" /> objects.</param>
  8349. </member>
  8350. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.SaveParameterTypes(Mono.Cecil.Cil.CilWorker,Mono.Cecil.MethodReference,Mono.Cecil.ModuleDefinition,Mono.Cecil.Cil.VariableDefinition)">
  8351. <summary>
  8352. Saves the current method signature of a method into an array
  8353. of <see cref="T:System.Type" /> objects. This can be used to determine the
  8354. signature of methods with generic type parameters or methods that have
  8355. parameters that are generic parameters specified by the type itself.
  8356. </summary>
  8357. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will be used to create the instructions.</param>
  8358. <param name="method">The target method whose generic type arguments (if any) will be saved into the local variable .</param>
  8359. <param name="module">The module that contains the host method.</param>
  8360. <param name="parameterTypes">The local variable that will store the current method signature.</param>
  8361. </member>
  8362. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.PackageReturnValue(Mono.Cecil.Cil.CilWorker,Mono.Cecil.ModuleDefinition,Mono.Cecil.TypeReference)">
  8363. <summary>
  8364. Converts the return value of a method into the <paramref name="returnType">target type</paramref>.
  8365. If the target type is void, then the value will simply be popped from the stack.
  8366. </summary>
  8367. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will be used to create the instructions.</param>
  8368. <param name="module">The module that contains the host method.</param>
  8369. <param name="returnType">The method return type itself.</param>
  8370. </member>
  8371. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.Stind(Mono.Cecil.Cil.CilWorker,Mono.Cecil.TypeReference)">
  8372. <summary>
  8373. Emits the proper Stind (store indirect) IL instruction for the <paramref name="currentType" />.
  8374. </summary>
  8375. <param name="IL">The target <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will emit the IL.</param>
  8376. <param name="currentType">The type of data being stored.</param>
  8377. </member>
  8378. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.PushParameter(Mono.Cecil.Cil.CilWorker,System.Int32,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.ParameterDefinition)">
  8379. <summary>
  8380. Stores the <paramref name="param">current parameter value</paramref>
  8381. into the array of method <paramref name="arguments" />.
  8382. </summary>
  8383. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will be used to create the instructions.</param>
  8384. <param name="arguments">The local variable that will store the method arguments.</param>
  8385. <param name="index">The array index that indicates where the parameter value will be stored in the array of arguments.</param>
  8386. <param name="param">The current argument value being stored.</param>
  8387. </member>
  8388. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.GetMethod(Mono.Cecil.Cil.CilWorker)">
  8389. <summary>
  8390. Obtains the method definition that contains the current <see cref="T:Mono.Cecil.Cil.CilWorker" />.
  8391. </summary>
  8392. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> responsible for the method body.</param>
  8393. <returns>A method definition.</returns>
  8394. </member>
  8395. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.GetModule(Mono.Cecil.Cil.CilWorker)">
  8396. <summary>
  8397. Obtains the module that contains the current <see cref="T:Mono.Cecil.Cil.CilWorker" />.
  8398. </summary>
  8399. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> responsible for the method body.</param>
  8400. <returns>The host module.</returns>
  8401. </member>
  8402. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.GetDeclaringType(Mono.Cecil.TypeReference)">
  8403. <summary>
  8404. Obtains the declaring type for a given type reference.
  8405. </summary>
  8406. <param name="declaringType">The declaring ty pe.</param>
  8407. <returns>The actual declaring type.</returns>
  8408. </member>
  8409. <member name="T:LinFu.Reflection.Emit.Interfaces.ITypeBuilder">
  8410. <summary>
  8411. Represents a type that can construct <see cref="T:Mono.Cecil.TypeDefinition" />
  8412. types.
  8413. </summary>
  8414. </member>
  8415. <member name="M:LinFu.Reflection.Emit.Interfaces.ITypeBuilder.Construct(Mono.Cecil.ModuleDefinition,Mono.Cecil.TypeDefinition)">
  8416. <summary>
  8417. Constructs a <paramref name="targetType" /> using
  8418. the given <see cref="T:Mono.Cecil.ModuleDefinition" /> instance.
  8419. </summary>
  8420. <param name="module">The module that will hold the actual type.</param>
  8421. <param name="targetType">The type being constructed.</param>
  8422. </member>
  8423. <member name="T:LinFu.Reflectio