PageRenderTime 97ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 1ms

/examples/ioc/bin/LinFu.Core.xml

http://github.com/philiplaureano/LinFu
XML | 5017 lines | 5004 code | 13 blank | 0 comment | 0 complexity | 7964c7d0a87a6a277110ae8505d49451 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.InvocationInfoExtensions">
  8. <summary>
  9. Extends <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> interface
  10. to make it easier to use.
  11. </summary>
  12. </member>
  13. <member name="M:LinFu.AOP.InvocationInfoExtensions.Proceed(LinFu.AOP.Interfaces.IInvocationInfo)">
  14. <summary>
  15. Invokes the currently executing method by using the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.Target" />
  16. as the target instance, the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod" /> as the method,
  17. and uses the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.Arguments" /> for the method
  18. arguments.
  19. </summary>
  20. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that contains information about the method call itself.</param>
  21. <returns>The return value of the method call.</returns>
  22. </member>
  23. <member name="M:LinFu.AOP.InvocationInfoExtensions.Proceed(LinFu.AOP.Interfaces.IInvocationInfo,System.Object)">
  24. <summary>
  25. Invokes the currently executing method by using the <paramref name="target" />
  26. as the target instance, the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod" /> as the method,
  27. and uses the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.Arguments" /> for the method
  28. arguments.
  29. </summary>
  30. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that contains information about the method call itself.</param>
  31. <param name="target">The target instance that will handle the method call.</param>
  32. <returns>The return value of the method call.</returns>
  33. </member>
  34. <member name="M:LinFu.AOP.InvocationInfoExtensions.Proceed(LinFu.AOP.Interfaces.IInvocationInfo,System.Object,System.Object[])">
  35. <summary>
  36. Invokes the currently executing method by using the <paramref name="target" />
  37. as the target instance, the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod" /> as the method,
  38. and uses the <paramref name="arguments" /> for the method
  39. arguments.
  40. </summary>
  41. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that contains information about the method call itself.</param>
  42. <param name="target">The target instance that will handle the method call.</param>
  43. <param name="arguments">The arguments that will be used for the actual method call.</param>
  44. <returns>The return value of the method call.</returns>
  45. </member>
  46. <member name="T:LinFu.AOP.InvocationInfo">
  47. <summary>
  48. Represents the information associated with
  49. a single method call.
  50. </summary>
  51. </member>
  52. <member name="M:LinFu.AOP.InvocationInfo.#ctor(System.Object,System.Reflection.MethodInfo,System.Diagnostics.StackTrace,System.Type[],System.Type[],System.Type,System.Object[])">
  53. <summary>
  54. Initializes the <see cref="T:LinFu.AOP.InvocationInfo" /> instance.
  55. </summary>
  56. <param name="target">The target instance currently being called.</param>
  57. <param name="targetMethod">The method currently being called.</param>
  58. <param name="stackTrace"> The <see cref="P:LinFu.AOP.InvocationInfo.StackTrace" /> associated with the method call when the call was made.</param>
  59. <param name="parameterTypes">The parameter types for the current target method.</param>
  60. <param name="typeArguments">
  61. If the <see cref="P:LinFu.AOP.InvocationInfo.TargetMethod" /> method is a generic method,
  62. this will hold the generic type arguments used to construct the
  63. method.
  64. </param>
  65. <param name="returnType">The return type of the target method.</param>
  66. <param name="arguments">The arguments used in the method call.</param>
  67. </member>
  68. <member name="P:LinFu.AOP.InvocationInfo.Target">
  69. <summary>
  70. The target instance currently being called.
  71. </summary>
  72. <remarks>This typically is a reference to a proxy object.</remarks>
  73. </member>
  74. <member name="P:LinFu.AOP.InvocationInfo.TargetMethod">
  75. <summary>
  76. The method currently being called.
  77. </summary>
  78. </member>
  79. <member name="P:LinFu.AOP.InvocationInfo.StackTrace">
  80. <summary>
  81. The <see cref="P:LinFu.AOP.InvocationInfo.StackTrace" /> associated
  82. with the method call when the call was made.
  83. </summary>
  84. </member>
  85. <member name="P:LinFu.AOP.InvocationInfo.CallingMethod">
  86. <summary>
  87. This is the actual calling method that invoked the <see cref="P:LinFu.AOP.InvocationInfo.TargetMethod" />.
  88. </summary>
  89. </member>
  90. <member name="P:LinFu.AOP.InvocationInfo.ReturnType">
  91. <summary>
  92. The return type of the <see cref="P:LinFu.AOP.InvocationInfo.TargetMethod" />.
  93. </summary>
  94. </member>
  95. <member name="P:LinFu.AOP.InvocationInfo.ParameterTypes">
  96. <summary>
  97. The parameter types for the current target method.
  98. </summary>
  99. <remarks>
  100. <para>
  101. This could be very useful in cases where the actual target method
  102. is based on a generic type definition. In such cases,
  103. the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance needs to be able
  104. to describe the actual parameter types being used by the
  105. current generic type instantiation. This property helps
  106. users determine which parameter types are actually being used
  107. at the time of the method call.
  108. </para>
  109. </remarks>
  110. </member>
  111. <member name="P:LinFu.AOP.InvocationInfo.TypeArguments">
  112. <summary>
  113. If the <see cref="P:LinFu.AOP.InvocationInfo.TargetMethod" /> method is a generic method,
  114. this will hold the generic type arguments used to construct the
  115. method.
  116. </summary>
  117. </member>
  118. <member name="P:LinFu.AOP.InvocationInfo.Arguments">
  119. <summary>
  120. The arguments used in the method call.
  121. </summary>
  122. </member>
  123. <member name="T:LinFu.AOP.InvocationInfoEmitter">
  124. <summary>
  125. Represents the default implementation for the
  126. <see cref="T:LinFu.AOP.Interfaces.IEmitInvocationInfo" /> class.
  127. </summary>
  128. </member>
  129. <member name="M:LinFu.AOP.InvocationInfoEmitter.Emit(System.Reflection.MethodInfo,Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.VariableDefinition)">
  130. <summary>
  131. Emits the IL instructions that will store information about the method <paramref name="targetMethod">currently being executed</paramref>
  132. and stores the results into the <paramref name="invocationInfo">variable.</paramref></summary>
  133. <param name="method">The method whose implementation will be intercepted.</param>
  134. <param name="targetMethod">The actual method that will contain the resulting instructions.</param>
  135. <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>
  136. </member>
  137. <member name="T:LinFu.AOP.Interfaces.IVerifier">
  138. <summary>
  139. A class that verifies a given <see cref="T:Mono.Cecil.AssemblyDefinition" /> instance.
  140. </summary>
  141. </member>
  142. <member name="M:LinFu.AOP.Interfaces.IVerifier.Verify(Mono.Cecil.AssemblyDefinition)">
  143. <summary>
  144. Verifies the given <paramref name="assembly" /> instance.
  145. </summary>
  146. <param name="assembly">The assembly definition that needs to be verified.</param>
  147. </member>
  148. <member name="T:LinFu.AOP.Interfaces.IAroundInvoke">
  149. <summary>
  150. Represents a class that can wrap itself around any given method call.
  151. </summary>
  152. </member>
  153. <member name="M:LinFu.AOP.Interfaces.IAroundInvoke.BeforeInvoke(LinFu.AOP.Interfaces.IInvocationInfo)">
  154. <summary>
  155. This method will be called just before the actual
  156. method call is executed.
  157. </summary>
  158. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> associated with the method call.</param>
  159. <seealso cref="T:LinFu.AOP.Interfaces.IInvocationInfo" />
  160. </member>
  161. <member name="M:LinFu.AOP.Interfaces.IAroundInvoke.AfterInvoke(LinFu.AOP.Interfaces.IInvocationInfo,System.Object)">
  162. <summary>
  163. This method will be called immediately after the actual
  164. method call is executed.
  165. </summary>
  166. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> associated with the method call.</param>
  167. <param name="returnValue">The value returned from the actual method call.</param>
  168. </member>
  169. <member name="T:LinFu.AOP.Interfaces.IInvokeWrapper">
  170. <summary>
  171. Represents a special type of interceptor that can
  172. wrap itself around a method call.
  173. </summary>
  174. </member>
  175. <member name="M:LinFu.AOP.Interfaces.IInvokeWrapper.DoInvoke(LinFu.AOP.Interfaces.IInvocationInfo)">
  176. <summary>
  177. This method will provide the actual implementation
  178. for the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod">target method</see>
  179. instance.
  180. </summary>
  181. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> associated with the method call.</param>
  182. <returns>The actual return value from the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod" />.</returns>
  183. </member>
  184. <member name="T:LinFu.AOP.Interfaces.IInterceptor">
  185. <summary>
  186. Represents a class that can dynamically intercept method calls.
  187. </summary>
  188. </member>
  189. <member name="M:LinFu.AOP.Interfaces.IInterceptor.Intercept(LinFu.AOP.Interfaces.IInvocationInfo)">
  190. <summary>
  191. Intercepts a method call using the given
  192. <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.
  193. </summary>
  194. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that will
  195. contain all the necessary information associated with a
  196. particular method call.</param>
  197. <returns>The return value of the target method. If the return type of the target
  198. method is <see cref="T:System.Void" />, then the return value will be ignored.</returns>
  199. </member>
  200. <member name="T:LinFu.AOP.Interfaces.IInvocationInfo">
  201. <summary>
  202. Represents the information associated with
  203. a single method call.
  204. </summary>
  205. </member>
  206. <member name="P:LinFu.AOP.Interfaces.IInvocationInfo.Target">
  207. <summary>
  208. The target instance currently being called.
  209. </summary>
  210. <remarks>This typically is a reference to a proxy object.</remarks>
  211. </member>
  212. <member name="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod">
  213. <summary>
  214. The method currently being called.
  215. </summary>
  216. </member>
  217. <member name="P:LinFu.AOP.Interfaces.IInvocationInfo.StackTrace">
  218. <summary>
  219. The <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.StackTrace" /> associated
  220. with the method call when the call was made.
  221. </summary>
  222. </member>
  223. <member name="P:LinFu.AOP.Interfaces.IInvocationInfo.CallingMethod">
  224. <summary>
  225. This is the actual calling method that invoked the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod" />.
  226. </summary>
  227. </member>
  228. <member name="P:LinFu.AOP.Interfaces.IInvocationInfo.ReturnType">
  229. <summary>
  230. The return type of the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod" />.
  231. </summary>
  232. </member>
  233. <member name="P:LinFu.AOP.Interfaces.IInvocationInfo.ParameterTypes">
  234. <summary>
  235. The parameter types for the current target method.
  236. </summary>
  237. <remarks>
  238. <para>
  239. This could be very useful in cases where the actual target method
  240. is based on a generic type definition. In such cases,
  241. the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance needs to be able
  242. to describe the actual parameter types being used by the
  243. current generic type instantiation. This property helps
  244. users determine which parameter types are actually being used
  245. at the time of the method call.
  246. </para>
  247. </remarks>
  248. </member>
  249. <member name="P:LinFu.AOP.Interfaces.IInvocationInfo.TypeArguments">
  250. <summary>
  251. If the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod" /> method is a generic method,
  252. this will hold the generic type arguments used to construct the
  253. method.
  254. </summary>
  255. </member>
  256. <member name="P:LinFu.AOP.Interfaces.IInvocationInfo.Arguments">
  257. <summary>
  258. The arguments used in the method call.
  259. </summary>
  260. </member>
  261. <member name="T:LinFu.AOP.Interfaces.IEmitInvocationInfo">
  262. <summary>
  263. Represents a class that emits
  264. the IL to save information about
  265. the method currently being executed.
  266. </summary>
  267. </member>
  268. <member name="M:LinFu.AOP.Interfaces.IEmitInvocationInfo.Emit(System.Reflection.MethodInfo,Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.VariableDefinition)">
  269. <summary>
  270. Emits the IL to save information about
  271. the method currently being executed.
  272. </summary>
  273. <seealso cref="T:LinFu.AOP.Interfaces.IInvocationInfo" />
  274. <param name="targetMethod">The target method currently being executed.</param>
  275. <param name="currentMethod">The method that will be passed to the <paramref name="invocationInfo" /> as the currently executing method.</param>
  276. <param name="invocationInfo">The local variable that will store the resulting <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
  277. </member>
  278. <member name="T:LinFu.Finders.Interfaces.ICriteria`1">
  279. <summary>
  280. Represents a class that describes the search criteria
  281. for a given item <typeparamref name="T">type</typeparamref>.
  282. </summary>
  283. <typeparam name="T">The target item type.</typeparam>
  284. </member>
  285. <member name="P:LinFu.Finders.Interfaces.ICriteria`1.Type">
  286. <summary>
  287. Gets or sets a value indicating the <see cref="T:LinFu.Finders.Interfaces.CriteriaType" />
  288. of the current <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" />.
  289. </summary>
  290. </member>
  291. <member name="P:LinFu.Finders.Interfaces.ICriteria`1.Predicate">
  292. <summary>
  293. The condition that will determine whether or not
  294. the target item matches the criteria.
  295. </summary>
  296. </member>
  297. <member name="P:LinFu.Finders.Interfaces.ICriteria`1.Weight">
  298. <summary>
  299. Gets or sets a value indicating the weight of the given <see cref="P:LinFu.Finders.Interfaces.ICriteria`1.Predicate" />.
  300. </summary>
  301. </member>
  302. <member name="T:LinFu.Finders.Interfaces.IFuzzyItem`1">
  303. <summary>
  304. Represents a search item in a fuzzy search list.
  305. </summary>
  306. <typeparam name="T">
  307. </typeparam>
  308. </member>
  309. <member name="M:LinFu.Finders.Interfaces.IFuzzyItem`1.Test(LinFu.Finders.Interfaces.ICriteria{`0})">
  310. <summary>
  311. Tests if the current item matches the given
  312. <paramref name="criteria" />.
  313. </summary>
  314. <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>
  315. </member>
  316. <member name="M:LinFu.Finders.Interfaces.IFuzzyItem`1.Reset">
  317. <summary>
  318. Resets the item back to its initial state.
  319. </summary>
  320. </member>
  321. <member name="P:LinFu.Finders.Interfaces.IFuzzyItem`1.Confidence">
  322. <summary>
  323. Reports the probability of a match
  324. based on the <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" />
  325. that has been tested so far.
  326. A value of 1.0 indicates a 100% match;
  327. A value of 0.0 equals a zero percent match.
  328. </summary>
  329. </member>
  330. <member name="P:LinFu.Finders.Interfaces.IFuzzyItem`1.Item">
  331. <summary>
  332. Gets the target item.
  333. </summary>
  334. </member>
  335. <member name="T:LinFu.Finders.FuzzyItem`1">
  336. <summary>
  337. Represents the default implementation of a weighted item in
  338. a fuzzy list.
  339. </summary>
  340. <typeparam name="T">The item type to be tested.</typeparam>
  341. </member>
  342. <member name="M:LinFu.Finders.FuzzyItem`1.#ctor(`0)">
  343. <summary>
  344. Initializes the <see cref="T:LinFu.Finders.FuzzyItem`1" /> class with the given <paramref name="item" />.
  345. </summary>
  346. <param name="item">An instance of the <typeparamref name="T">item type</typeparamref> that will be tested.</param>
  347. </member>
  348. <member name="M:LinFu.Finders.FuzzyItem`1.Test(LinFu.Finders.Interfaces.ICriteria{`0})">
  349. <summary>
  350. Tests if the current item matches the given
  351. <paramref name="criteria" />.
  352. </summary>
  353. <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>
  354. </member>
  355. <member name="M:LinFu.Finders.FuzzyItem`1.Reset">
  356. <summary>
  357. Resets the item back to its initial state.
  358. </summary>
  359. </member>
  360. <member name="P:LinFu.Finders.FuzzyItem`1.Confidence">
  361. <summary>
  362. Reports the probability of a match
  363. based on the <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" />
  364. that has been tested so far.
  365. A value of 1.0 indicates a 100% match;
  366. A value of 0.0 equals a zero percent match.
  367. </summary>
  368. </member>
  369. <member name="P:LinFu.Finders.FuzzyItem`1.Item">
  370. <summary>
  371. Gets the target item.
  372. </summary>
  373. </member>
  374. <member name="T:LinFu.Finders.PredicateExtensions">
  375. <summary>
  376. A class that adds logical extensions to the <see cref="T:System.Func`2" /> predicate
  377. class.
  378. </summary>
  379. </member>
  380. <member name="M:LinFu.Finders.PredicateExtensions.Or``1(System.Func{``0,System.Boolean},System.Func{``0,System.Boolean})">
  381. <summary>
  382. Logically ORs two <see cref="T:System.Func`2" /> predicates together.
  383. </summary>
  384. <typeparam name="TItem">The type of item being compared.</typeparam>
  385. <param name="left">The left hand predicate.</param>
  386. <param name="right">The right hand predicate.</param>
  387. <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>
  388. </member>
  389. <member name="M:LinFu.Finders.PredicateExtensions.And``1(System.Func{``0,System.Boolean},System.Func{``0,System.Boolean})">
  390. <summary>
  391. Logically ANDs two <see cref="T:System.Func`2" /> predicates together.
  392. </summary>
  393. <typeparam name="TItem">The type of item being compared.</typeparam>
  394. <param name="left">The left hand predicate.</param>
  395. <param name="right">The right hand predicate.</param>
  396. <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>
  397. </member>
  398. <member name="M:LinFu.Finders.PredicateExtensions.Inverse``1(System.Func{``0,System.Boolean})">
  399. <summary>
  400. Logically negates a single predicate.
  401. </summary>
  402. <typeparam name="TItem">The type of item being compared.</typeparam>
  403. <param name="predicate">The predicate to negate.</param>
  404. <returns>Returns <c>true</c> if the given predicate is <c>false</c>.</returns>
  405. </member>
  406. <member name="T:LinFu.Finders.Criteria`1">
  407. <summary>
  408. Represents the default implementation of the <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" /> interface.
  409. </summary>
  410. <typeparam name="T">The type of item to test.</typeparam>
  411. </member>
  412. <member name="P:LinFu.Finders.Criteria`1.Type">
  413. <summary>
  414. Gets or sets a value indicating the <see cref="T:LinFu.Finders.Interfaces.CriteriaType" />
  415. of the current <see cref="T:LinFu.Finders.Criteria`1" />.
  416. </summary>
  417. </member>
  418. <member name="P:LinFu.Finders.Criteria`1.Predicate">
  419. <summary>
  420. The condition that will determine whether or not
  421. the target item matches the criteria.
  422. </summary>
  423. </member>
  424. <member name="P:LinFu.Finders.Criteria`1.Weight">
  425. <summary>
  426. The weight of the given <see cref="P:LinFu.Finders.Criteria`1.Predicate" />.
  427. </summary>
  428. </member>
  429. <member name="T:LinFu.Finders.FinderExtensions">
  430. <summary>
  431. A class that adds fuzzy search support to <see cref="T:System.Collections.Generic.IList`1" /> instances.
  432. </summary>
  433. </member>
  434. <member name="M:LinFu.Finders.FinderExtensions.AddCriteria``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}},LinFu.Finders.Interfaces.ICriteria{``0})">
  435. <summary>
  436. Applies a criteria to the <paramref name="list" /> of
  437. fuzzy items.
  438. </summary>
  439. <typeparam name="TItem">The type of item to test.</typeparam>
  440. <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>
  441. <param name="criteria">The criteria to test against each item in the list.</param>
  442. </member>
  443. <member name="M:LinFu.Finders.FinderExtensions.AddCriteria``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}},System.Func{``0,System.Boolean})">
  444. <summary>
  445. Applies a criteria to the <paramref name="list" /> of
  446. fuzzy items using the given <paramref name="predicate" />.
  447. </summary>
  448. <typeparam name="TItem">The type of item to test.</typeparam>
  449. <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>
  450. <param name="predicate">The condition that will be used to test the target item.</param>
  451. </member>
  452. <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)">
  453. <summary>
  454. Applies a criteria to the <paramref name="list" /> of
  455. fuzzy items using the given <paramref name="predicate" />.
  456. </summary>
  457. <typeparam name="TItem">The type of item to test.</typeparam>
  458. <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>
  459. <param name="predicate">The condition that will be used to test the target item.</param>
  460. <param name="criteriaType">The <see cref="T:LinFu.Finders.Interfaces.CriteriaType" /> to associate with the predicate.</param>
  461. </member>
  462. <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)">
  463. <summary>
  464. Applies a criteria to the <paramref name="list" /> of
  465. fuzzy items using the given <paramref name="predicate" />.
  466. </summary>
  467. <typeparam name="TItem">The type of item to test.</typeparam>
  468. <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>
  469. <param name="predicate">The condition that will be used to test the target item.</param>
  470. <param name="criteriaType">The <see cref="T:LinFu.Finders.Interfaces.CriteriaType" /> to associate with the predicate.</param>
  471. <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>
  472. </member>
  473. <member name="M:LinFu.Finders.FinderExtensions.Add``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}},``0)">
  474. <summary>
  475. Adds an item to a fuzzy list.
  476. </summary>
  477. <typeparam name="T">The type of the item being added.</typeparam>
  478. <param name="list">The fuzzy list that will contain the new item.</param>
  479. <param name="item">The item being added.</param>
  480. </member>
  481. <member name="M:LinFu.Finders.FinderExtensions.BestMatch``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}})">
  482. <summary>
  483. Returns the FuzzyItem with the highest confidence score in a given
  484. <see cref="T:LinFu.Finders.Interfaces.IFuzzyItem`1" /> list.
  485. </summary>
  486. <typeparam name="TItem">The type of item being compared.</typeparam>
  487. <param name="list">The fuzzy list that contains the list of possible matches.</param>
  488. <returns>The item with the highest match.</returns>
  489. </member>
  490. <member name="M:LinFu.Finders.FinderExtensions.Reset``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}})">
  491. <summary>
  492. Resets the scores of all fuzzy items in the current list.
  493. </summary>
  494. <typeparam name="TItem">The target item type.</typeparam>
  495. <param name="list">The fuzzy list itself.</param>
  496. </member>
  497. <member name="M:LinFu.Finders.FinderExtensions.AsFuzzyList``1(System.Collections.Generic.IEnumerable{``0})">
  498. <summary>
  499. Converts a list into a list of <see cref="T:LinFu.Finders.Interfaces.IFuzzyItem`1" /> objects.
  500. </summary>
  501. <typeparam name="TItem">The item type will be used in the fuzzy search.</typeparam>
  502. <param name="items">The target list to be converted.</param>
  503. <returns>A fuzzy list containing the elements from the given list.</returns>
  504. </member>
  505. <member name="T:LinFu.Finders.Interfaces.CriteriaType">
  506. <summary>
  507. The enumeration that determines how a <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" /> instance should
  508. be handled if the criteria test fails.
  509. </summary>
  510. </member>
  511. <member name="F:LinFu.Finders.Interfaces.CriteriaType.Standard">
  512. <summary>
  513. A failure in a criteria test will result in a lower weighted
  514. score for a target item.
  515. </summary>
  516. </member>
  517. <member name="F:LinFu.Finders.Interfaces.CriteriaType.Optional">
  518. <summary>
  519. A failure in a criteria test will be ignored, and hence,
  520. the criteria will be optional.
  521. </summary>
  522. </member>
  523. <member name="F:LinFu.Finders.Interfaces.CriteriaType.Critical">
  524. <summary>
  525. A failure in a criteria test will cause all previous and remaining
  526. tests against the criteria to fail.
  527. </summary>
  528. </member>
  529. <member name="T:LinFu.IoC.Interfaces.IScope">
  530. <summary>
  531. Represents a class that keeps track of all the disposable objects
  532. created within a service container and disposes them when
  533. the scope itself has been disposed.
  534. </summary>
  535. </member>
  536. <member name="T:LinFu.IoC.Interfaces.IPostProcessor">
  537. <summary>
  538. Represents a class that can inspect or modify service requests
  539. from a given container once a service is created.
  540. </summary>
  541. </member>
  542. <member name="M:LinFu.IoC.Interfaces.IPostProcessor.PostProcess(LinFu.IoC.Interfaces.IServiceRequestResult)">
  543. <summary>
  544. Allows a <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> instance
  545. to inspect or modify the result of a service request.
  546. </summary>
  547. <seealso cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" />
  548. <param name="result">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> created as a result of the container operation.</param>
  549. </member>
  550. <member name="T:LinFu.IoC.Configuration.IInitialize">
  551. <summary>
  552. Represents service classes that need to be initialized
  553. every time a particular <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  554. instance creates that type.
  555. </summary>
  556. </member>
  557. <member name="T:LinFu.IoC.Scope">
  558. <summary>
  559. Represents a class that keeps track of all the disposable objects
  560. created within a service container and disposes them when
  561. the scope itself has been disposed.
  562. </summary>
  563. </member>
  564. <member name="T:LinFu.IoC.Configuration.Interfaces.IArgumentResolver">
  565. <summary>
  566. Represents a type that can generate method arguments
  567. from an existing <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  568. </summary>
  569. </member>
  570. <member name="M:LinFu.IoC.Configuration.Interfaces.IArgumentResolver.ResolveFrom(System.Collections.Generic.IEnumerable{System.Type},LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  571. <summary>
  572. Generates constructor arguments from the given <paramref name="parameterTypes" />
  573. and <paramref name="container" />.
  574. </summary>
  575. <param name="parameterTypes">The parameter types for the target method.</param>
  576. <param name="container">The container that will provide the method arguments.</param>
  577. <param name="additionalArguments">The additional arguments that will be passed to the target method.</param>
  578. <returns>An array of objects that represent the arguments to be passed to the target method.</returns>
  579. </member>
  580. <member name="T:LinFu.IoC.Configuration.Interfaces.IPropertyInjectionLambda`1">
  581. <summary>
  582. Represents a fluent class that creates
  583. a method that initializes a <typeparamref name="TService" />
  584. instance.
  585. </summary>
  586. <typeparam name="TService">The service type being instantiated.</typeparam>
  587. </member>
  588. <member name="M:LinFu.IoC.Configuration.Interfaces.IPropertyInjectionLambda`1.With(System.Action{`0})">
  589. <summary>
  590. Initializes service instances with the given
  591. <paramref name="action" />.
  592. </summary>
  593. <param name="action">An <see cref="T:System.Action`1" /> delegate that will be used to initialize newly created services.</param>
  594. </member>
  595. <member name="M:LinFu.IoC.Configuration.Interfaces.IPropertyInjectionLambda`1.With(System.Action{LinFu.IoC.Interfaces.IServiceContainer,`0})">
  596. <summary>
  597. Uses an action delegate to initialize a given service using
  598. the given <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> and <typeparamref name="TService" />
  599. instances.
  600. </summary>
  601. <param name="action">An <see cref="T:System.Func`2" /> delegate that will be used to initialize newly created services.</param>
  602. </member>
  603. <member name="T:LinFu.IoC.Configuration.PropertyInjectionLambda`1">
  604. <summary>
  605. Represents a fluent class that creates
  606. a method that initializes a <typeparamref name="TService" />
  607. instance.
  608. </summary>
  609. <typeparam name="TService">The service type being instantiated.</typeparam>
  610. </member>
  611. <member name="M:LinFu.IoC.Configuration.PropertyInjectionLambda`1.#ctor(LinFu.IoC.Configuration.ActionContext{`0})">
  612. <summary>
  613. Initializes the class with the <paramref name="context" />.
  614. </summary>
  615. <param name="context">The context that will be associated with the target container.</param>
  616. </member>
  617. <member name="M:LinFu.IoC.Configuration.PropertyInjectionLambda`1.With(System.Action{`0})">
  618. <summary>
  619. Initializes service instances with the given
  620. <paramref name="action" />.
  621. </summary>
  622. <param name="action">An <see cref="T:System.Action`1" /> delegate that will be used to initialize newly created services.</param>
  623. </member>
  624. <member name="M:LinFu.IoC.Configuration.PropertyInjectionLambda`1.With(System.Action{LinFu.IoC.Interfaces.IServiceContainer,`0})">
  625. <summary>
  626. Uses an action delegate to initialize a given service using
  627. the given <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> and <typeparamref name="TService" />
  628. instances.
  629. </summary>
  630. <param name="action">An <see cref="T:System.Func`2" /> delegate that will be used to initialize newly created services.</param>
  631. </member>
  632. <member name="M:LinFu.IoC.Configuration.PropertyInjectionLambda`1.AddPostProcessor(LinFu.IoC.Configuration.ActionContext{`0})">
  633. <summary>
  634. Attaches the action associated with the <see cref="T:LinFu.IoC.Configuration.ActionContext`1" />
  635. instance to the target container embedded within the <see cref="T:LinFu.IoC.Configuration.ActionContext`1" />
  636. class itself.
  637. </summary>
  638. <param name="context">The context that will be associated with the target container.</param>
  639. </member>
  640. <member name="T:LinFu.IoC.Interfaces.IServiceInfo">
  641. <summary>
  642. A class that describes a single service
  643. provided by a container.
  644. </summary>
  645. </member>
  646. <member name="P:LinFu.IoC.Interfaces.IServiceInfo.ServiceName">
  647. <summary>
  648. The name of the service being created. By default, this property is blank.
  649. </summary>
  650. </member>
  651. <member name="P:LinFu.IoC.Interfaces.IServiceInfo.ServiceType">
  652. <summary>
  653. The type of service being requested.
  654. </summary>
  655. </member>
  656. <member name="T:LinFu.IoC.Interfaces.IServiceRequestResult">
  657. <summary>
  658. Represents the results returned when a service request
  659. is made against an <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  660. </summary>
  661. </member>
  662. <member name="P:LinFu.IoC.Interfaces.IServiceRequestResult.OriginalResult">
  663. <summary>
  664. The raw object reference created by the container itself.
  665. </summary>
  666. </member>
  667. <member name="P:LinFu.IoC.Interfaces.IServiceRequestResult.ActualResult">
  668. <summary>
  669. The result that will be returned from the container
  670. instead of the <see cref="P:LinFu.IoC.Interfaces.IServiceRequestResult.OriginalResult" />.
  671. If this property is null, then the original result will be used.
  672. </summary>
  673. </member>
  674. <member name="P:LinFu.IoC.Interfaces.IServiceRequestResult.Container">
  675. <summary>
  676. The container that will handle the service request.
  677. </summary>
  678. </member>
  679. <member name="P:LinFu.IoC.Interfaces.IServiceRequestResult.AdditionalArguments">
  680. <summary>
  681. Gets the value indicating the additional arguments that
  682. were used during the service request.
  683. </summary>
  684. </member>
  685. <member name="T:LinFu.IoC.Configuration.ITypeLoader">
  686. <summary>
  687. Generates one or more <see cref="T:System.Action`1" /> instances
  688. from a given source type so that it can be used
  689. against an <see cref="T:LinFu.IoC.Interfaces.IContainer" /> instance.
  690. </summary>
  691. </member>
  692. <member name="T:LinFu.IoC.Configuration.Interfaces.IMethodInvoke`1">
  693. <summary>
  694. Represents a type that can invoke a method
  695. using a given set of method arguments.
  696. </summary>
  697. </member>
  698. <member name="M:LinFu.IoC.Configuration.Interfaces.IMethodInvoke`1.Invoke(System.Object,`0,System.Object[])">
  699. <summary>
  700. Invokes the <paramref name="targetMethod" />
  701. using the given <paramref name="arguments" />.
  702. </summary>
  703. <param name="target">The target object instance.</param>
  704. <param name="targetMethod">The target method to invoke.</param>
  705. <param name="arguments">The arguments to be used with the method.</param>
  706. <returns>The method return value.</returns>
  707. </member>
  708. <member name="T:LinFu.IoC.Configuration.BaseMethodInvoke`1">
  709. <summary>
  710. Represents the default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodInvoke`1" /> interface.
  711. </summary>
  712. </member>
  713. <member name="M:LinFu.IoC.Configuration.BaseMethodInvoke`1.#ctor">
  714. <summary>
  715. Initializes the class with the default values.
  716. </summary>
  717. </member>
  718. <member name="M:LinFu.IoC.Configuration.BaseMethodInvoke`1.Invoke(System.Object,`0,System.Object[])">
  719. <summary>
  720. Instantiates an object instance with the <paramref name="targetMethod" />
  721. and <paramref name="arguments" />.
  722. </summary>
  723. <param name="target">The target object reference. In this particular case, this parameter will be ignored.</param>
  724. <param name="targetMethod">The target method.</param>
  725. <param name="arguments">The arguments to be used with the method.</param>
  726. <returns>An object reference that represents the method return value.</returns>
  727. </member>
  728. <member name="M:LinFu.IoC.Configuration.BaseMethodInvoke`1.DoInvoke(System.Object,`0,System.Reflection.MethodBase,System.Object[])">
  729. <summary>
  730. Invokes the <paramref name="targetMethod" /> with the given <paramref name="arguments" />.
  731. </summary>
  732. <param name="target">The target instance.</param>
  733. <param name="originalMethod">The original method that describes the target method.</param>
  734. <param name="targetMethod">The actual method that will be invoked.</param>
  735. <param name="arguments">The method arguments.</param>
  736. <returns>The return value from the target method.</returns>
  737. </member>
  738. <member name="M:LinFu.IoC.Configuration.BaseMethodInvoke`1.GenerateTargetMethod(`0)">
  739. <summary>
  740. Creates a <see cref="T:System.Reflection.Emit.DynamicMethod" /> that will be used as the
  741. factory method and stores it in the method cache.
  742. </summary>
  743. <param name="targetMethod">The constructor that will be used to instantiate the target type.</param>
  744. </member>
  745. <member name="M:LinFu.IoC.Configuration.BaseMethodInvoke`1.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  746. <summary>
  747. Initializes the class with the <paramref name="source">source service container.</paramref></summary>
  748. <param name="source">The <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance that will initialize this class.</param>
  749. </member>
  750. <member name="P:LinFu.IoC.Configuration.BaseMethodInvoke`1.MethodBuilder">
  751. <summary>
  752. Gets or sets the value indicating the method builder that will be used to
  753. create the target method.
  754. </summary>
  755. </member>
  756. <member name="T:LinFu.IoC.Configuration.MethodInvoke">
  757. <summary>
  758. A class that invokes methods.
  759. </summary>
  760. </member>
  761. <member name="M:LinFu.IoC.Configuration.MethodInvoke.#ctor">
  762. <summary>
  763. Initializes the class with the default values.
  764. </summary>
  765. </member>
  766. <member name="M:LinFu.IoC.Configuration.MethodInvoke.DoInvoke(System.Object,System.Reflection.MethodInfo,System.Reflection.MethodBase,System.Object[])">
  767. <summary>
  768. Invokes the <paramref name="targetMethod" /> with the given <paramref name="arguments" />.
  769. </summary>
  770. <param name="target">The target instance.</param>
  771. <param name="originalMethod">The original method that describes the target method.</param>
  772. <param name="targetMethod">The actual method that will be invoked.</param>
  773. <param name="arguments">The method arguments.</param>
  774. <returns>The return value from the target method.</returns>
  775. </member>
  776. <member name="T:LinFu.IoC.FactoryExtensions">
  777. <summary>
  778. Extends the <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance with a few helper methods.
  779. </summary>
  780. </member>
  781. <member name="M:LinFu.IoC.FactoryExtensions.CreateInstance(LinFu.IoC.Interfaces.IFactory,System.Type,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  782. <summary>
  783. Creates an object instance.
  784. </summary>
  785. <param name="factory">The target factory.</param>
  786. <param name="serviceType">The requested service type.</param>
  787. <param name="container">The target service contaienr.</param>
  788. <param name="additionalArguments">The additional arguments that will be used to create the service instance.</param>
  789. <returns>A service instance.</returns>
  790. </member>
  791. <member name="T:LinFu.IoC.Configuration.BaseContext`1">
  792. <summary>
  793. Represents a class that provides the most basic information
  794. for executing a fluent command against a
  795. <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  796. </summary>
  797. <typeparam name="TService">
  798. </typeparam>
  799. </member>
  800. <member name="P:LinFu.IoC.Configuration.BaseContext`1.ServiceType">
  801. <summary>
  802. The service type to be created.
  803. </summary>
  804. </member>
  805. <member name="P:LinFu.IoC.Configuration.BaseContext`1.ServiceName">
  806. <summary>
  807. The name of the service to be created.
  808. </summary>
  809. </member>
  810. <member name="P:LinFu.IoC.Configuration.BaseContext`1.Container">
  811. <summary>
  812. The actual <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  813. that ultimately will hold the service instance.
  814. </summary>
  815. </member>
  816. <member name="T:LinFu.IoC.Interfaces.IContainer">
  817. <summary>
  818. An inversion of control container interface.
  819. </summary>
  820. </member>
  821. <member name="M:LinFu.IoC.Interfaces.IContainer.AddFactory(System.Type,LinFu.IoC.Interfaces.IFactory)">
  822. <summary>
  823. Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it
  824. with the given <paramref name="serviceType">service type</paramref>.
  825. </summary>
  826. <param name="serviceType">The service type to associate with the factory</param>
  827. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be responsible for creating the service instance</param>
  828. </member>
  829. <member name="M:LinFu.IoC.Interfaces.IContainer.Contains(System.Type)">
  830. <summary>
  831. Determines whether or not the container can create
  832. the given <paramref name="serviceType">service type</paramref>.
  833. </summary>
  834. <param name="serviceType">The type of service used to determine whether or not the given service can actually be created</param>
  835. <returns>A <see cref="T:System.Boolean">boolean</see> value that indicates whether or not the service exists.</returns>
  836. </member>
  837. <member name="M:LinFu.IoC.Interfaces.IContainer.GetService(System.Type,System.Object[])">
  838. <summary>
  839. Causes the container to instantiate the service with the given
  840. <paramref name="serviceType">service type</paramref>. If the service type cannot be created, then an
  841. exception will be thrown if the <see cref="P:LinFu.IoC.Interfaces.IContainer.SuppressErrors" /> property
  842. is set to false. Otherwise, it will simply return null.
  843. </summary>
  844. <param name="serviceType">The service type to instantiate.</param>
  845. <param name="additionalArguments">The additional arguments that will be used to instantiate the service type.</param>
  846. <returns>If successful, it will return a service instance that is compatible with the given type;
  847. otherwise, it will just return a null value.</returns>
  848. </member>
  849. <member name="P:LinFu.IoC.Interfaces.IContainer.AvailableServices">
  850. <summary>
  851. The list of services currently available inside the container.
  852. </summary>
  853. </member>
  854. <member name="P:LinFu.IoC.Interfaces.IContainer.SuppressErrors">
  855. <summary>
  856. Determines whether or not a container will throw an exception
  857. if the requested service is not found.
  858. </summary>
  859. </member>
  860. <member name="T:LinFu.IoC.Interfaces.IServiceContainer">
  861. <summary>
  862. An inversion of control container that supports
  863. named services.
  864. </summary>
  865. <seealso name="IContainer" />
  866. </member>
  867. <member name="M:LinFu.IoC.Interfaces.IServiceContainer.AddFactory(System.String,System.Type,LinFu.IoC.Interfaces.IFactory)">
  868. <summary>
  869. Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it
  870. with the given <paramref name="serviceType">service type</paramref> and
  871. <paramref name="serviceName">service name</paramref>.
  872. </summary>
  873. <param name="serviceName">The name of the service to associate with the given <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</param>
  874. <param name="serviceType">The type of service that the factory will be able to create.</param>
  875. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will create the object instance.</param>
  876. </member>
  877. <member name="M:LinFu.IoC.Interfaces.IServiceContainer.Contains(System.String,System.Type)">
  878. <summary>
  879. Determines whether or not a service can be created using
  880. the given <paramref name="serviceName">service name</paramref>
  881. and <paramref name="serviceType">service type</paramref>.
  882. </summary>
  883. <param name="serviceName">The name of the service to associate with the given <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</param>
  884. <param name="serviceType">The type of service that the factory will be able to create.</param>
  885. <returns>Returns <c>true</c> if the service exists; otherwise, it will return <c>false</c>.</returns>
  886. </member>
  887. <member name="M:LinFu.IoC.Interfaces.IServiceContainer.GetService(System.String,System.Type,System.Object[])">
  888. <summary>
  889. Causes the container to instantiate the service with the given
  890. <paramref name="serviceType">service type</paramref>. If the service type cannot be created, then an
  891. exception will be thrown if the <see cref="P:LinFu.IoC.Interfaces.IContainer.SuppressErrors" /> property
  892. is set to false. Otherwise, it will simply return null.
  893. </summary>
  894. <param name="serviceName">The name of the service to instantiate.</param>
  895. <param name="serviceType">The service type to instantiate.</param>
  896. <param name="additionalArguments">The additional arguments that will be used to instantiate the service type.</param>
  897. <returns>If successful, it will return a service instance that is compatible with the given type;
  898. otherwise, it will just return a <c>null</c> value.</returns>
  899. </member>
  900. <member name="P:LinFu.IoC.Interfaces.IServiceContainer.PreProcessors">
  901. <summary>
  902. The list of preprocessors that will handle
  903. every service request before each actual service is created.
  904. </summary>
  905. </member>
  906. <member name="P:LinFu.IoC.Interfaces.IServiceContainer.PostProcessors">
  907. <summary>
  908. The list of postprocessors that will handle every
  909. service request result.
  910. </summary>
  911. </member>
  912. <member name="T:LinFu.IoC.Interceptors.BaseInterceptor">
  913. <summary>
  914. A class that provides the most basic functionality for an interceptor.
  915. </summary>
  916. </member>
  917. <member name="M:LinFu.IoC.Interceptors.BaseInterceptor.#ctor">
  918. <summary>
  919. The default constructor.
  920. </summary>
  921. </member>
  922. <member name="M:LinFu.IoC.Interceptors.BaseInterceptor.#ctor(LinFu.IoC.Configuration.Interfaces.IMethodInvoke{System.Reflection.MethodInfo})">
  923. <summary>
  924. Initializes the class with the <paramref name="methodInvoke" /> instance.
  925. </summary>
  926. <param name="methodInvoke">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodInvoke`1" /> instance that will invoke the target method.</param>
  927. </member>
  928. <member name="M:LinFu.IoC.Interceptors.BaseInterceptor.GetTarget(LinFu.AOP.Interfaces.IInvocationInfo)">
  929. <summary>
  930. Gets the target object instance.
  931. </summary>
  932. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the current execution context.</param>
  933. </member>
  934. <member name="M:LinFu.IoC.Interceptors.BaseInterceptor.Intercept(LinFu.AOP.Interfaces.IInvocationInfo)">
  935. <summary>
  936. Intercepts a method call using the given
  937. <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.
  938. </summary>
  939. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that will
  940. contain all the necessary information associated with a
  941. particular method call.</param>
  942. <returns>The return value of the target method. If the return type of the target
  943. method is <see cref="T:System.Void" />, then the return value will be ignored.</returns>
  944. </member>
  945. <member name="P:LinFu.IoC.Interceptors.BaseInterceptor.MethodInvoker">
  946. <summary>
  947. Gets the value indicating the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodInvoke`1" /> instance
  948. that will be used to invoke the target method.
  949. </summary>
  950. </member>
  951. <member name="T:LinFu.IoC.Interceptors.Redirector">
  952. <summary>
  953. An interceptor class that redirects calls to another interceptor.
  954. </summary>
  955. </member>
  956. <member name="M:LinFu.IoC.Interceptors.Redirector.GetTarget(LinFu.AOP.Interfaces.IInvocationInfo)">
  957. <summary>
  958. Gets the target object instance.
  959. </summary>
  960. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the current execution context.</param>
  961. </member>
  962. <member name="T:LinFu.IoC.Configuration.Interfaces.IContainerPlugin">
  963. <summary>
  964. Represents an alias interface used for backward compatibility with LinFu IoC 1.0
  965. </summary>
  966. </member>
  967. <member name="T:LinFu.IoC.Configuration.RecursiveDependencyException">
  968. <summary>
  969. The exception thrown when a recursive dependency is detected
  970. inside a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  971. </summary>
  972. </member>
  973. <member name="M:LinFu.IoC.Configuration.RecursiveDependencyException.#ctor(System.Collections.Generic.LinkedList{System.Type})">
  974. <summary>
  975. Initializes the <see cref="T:LinFu.IoC.Configuration.RecursiveDependencyException" />
  976. class with the <paramref name="typeChain">chain</paramref>
  977. of depedencies that caused the exception.
  978. </summary>
  979. <param name="typeChain">The sequence of types that caused the dependency exception.</param>
  980. </member>
  981. <member name="P:LinFu.IoC.Configuration.RecursiveDependencyException.TypeChain">
  982. <summary>
  983. Gets the value indicating the chain of types that caused the exception.
  984. </summary>
  985. </member>
  986. <member name="P:LinFu.IoC.Configuration.RecursiveDependencyException.Message">
  987. <summary>
  988. Gets the value indicating the error message from the <see cref="T:LinFu.IoC.Configuration.RecursiveDependencyException" />.
  989. </summary>
  990. </member>
  991. <member name="T:LinFu.IoC.Configuration.Interfaces.IMethodBuilder`1">
  992. <summary>
  993. Represents a class that is responsible for generating methods
  994. from other existing methods.
  995. </summary>
  996. <typeparam name="TMethod">The method type to generate.</typeparam>
  997. </member>
  998. <member name="M:LinFu.IoC.Configuration.Interfaces.IMethodBuilder`1.CreateMethod(`0)">
  999. <summary>
  1000. Creates a method from the <paramref name="existingMethod" />.
  1001. </summary>
  1002. <param name="existingMethod">The method that will be used to define the new method.</param>
  1003. <returns>A method based on the old method.</returns>
  1004. </member>
  1005. <member name="T:LinFu.IoC.Configuration.BaseMethodBuilder`1">
  1006. <summary>
  1007. Represents the default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodBuilder`1" /> interface.
  1008. </summary>
  1009. <typeparam name="TMethod">The method type to generate.</typeparam>
  1010. </member>
  1011. <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.CreateMethod(`0)">
  1012. <summary>
  1013. Creates a method from the <paramref name="existingMethod" />.
  1014. </summary>
  1015. <param name="existingMethod">The method that will be used to define the new method.</param>
  1016. <returns>A method based on the old method.</returns>
  1017. </member>
  1018. <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.PushMethodArguments(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase)">
  1019. <summary>
  1020. Pushes the method arguments onto the stack.
  1021. </summary>
  1022. <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the target method body.</param>
  1023. <param name="targetMethod">The target method that will be invoked.</param>
  1024. </member>
  1025. <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.GetParameterList(`0,System.Type[])">
  1026. <summary>
  1027. Determines the parameter types of the dynamically generated method.
  1028. </summary>
  1029. <param name="existingMethod">The target method.</param>
  1030. <param name="parameterTypes">The target method argument types.</param>
  1031. <returns>The list of <see cref="T:System.Type" /> objects that describe the signature of the method to generate.</returns>
  1032. </member>
  1033. <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.PushInstance(System.Reflection.Emit.ILGenerator,`0)">
  1034. <summary>
  1035. Pushes the method target onto the stack.
  1036. </summary>
  1037. <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> that belongs to the method body.</param>
  1038. <param name="method">The current method.</param>
  1039. </member>
  1040. <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.GetReturnType(`0)">
  1041. <summary>
  1042. Determines the return type from the target <paramref name="method" />.
  1043. </summary>
  1044. <param name="method">The target method itself.</param>
  1045. <returns>The method return type.</returns>
  1046. </member>
  1047. <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.EmitCall(System.Reflection.Emit.ILGenerator,`0)">
  1048. <summary>
  1049. Emits the instruction to call the target <paramref name="method" /></summary>
  1050. <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the target method body.</param>
  1051. <param name="method">The method that will be invoked.</param>
  1052. </member>
  1053. <member name="T:LinFu.IoC.Configuration.MethodBuilder">
  1054. <summary>
  1055. A class that dynamically generates calls to a <see cref="T:System.Reflection.MethodInfo" /> instance.
  1056. </summary>
  1057. </member>
  1058. <member name="M:LinFu.IoC.Configuration.MethodBuilder.PushInstance(System.Reflection.Emit.ILGenerator,System.Reflection.MethodInfo)">
  1059. <summary>
  1060. Pushes the method target onto the evaluation stack.
  1061. </summary>
  1062. <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the method body.</param>
  1063. <param name="method">The target method.</param>
  1064. </member>
  1065. <member name="M:LinFu.IoC.Configuration.MethodBuilder.GetReturnType(System.Reflection.MethodInfo)">
  1066. <summary>
  1067. Determines the return type from the target <paramref name="method" />.
  1068. </summary>
  1069. <param name="method">The target method itself.</param>
  1070. <returns>The method return type.</returns>
  1071. </member>
  1072. <member name="M:LinFu.IoC.Configuration.MethodBuilder.GetParameterList(System.Reflection.MethodInfo,System.Type[])">
  1073. <summary>
  1074. Determines the parameter types of the dynamically generated method.
  1075. </summary>
  1076. <param name="existingMethod">The target method.</param>
  1077. <param name="parameterTypes">The target method argument types.</param>
  1078. <returns>The list of <see cref="T:System.Type" /> objects that describe the signature of the method to generate.</returns>
  1079. <remarks>This override will add an additional parameter type to accomodate the method target.</remarks>
  1080. </member>
  1081. <member name="M:LinFu.IoC.Configuration.MethodBuilder.EmitCall(System.Reflection.Emit.ILGenerator,System.Reflection.MethodInfo)">
  1082. <summary>
  1083. Emits the instruction to call the target <paramref name="method" /></summary>
  1084. <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the target method body.</param>
  1085. <param name="method">The method that will be invoked.</param>
  1086. </member>
  1087. <member name="T:LinFu.IoC.Configuration.Interfaces.IMethodFinder`1">
  1088. <summary>
  1089. Represents a class that determines which method best matches the
  1090. services currently in the target container.
  1091. </summary>
  1092. <typeparam name="T">The method type to search.</typeparam>
  1093. </member>
  1094. <member name="M:LinFu.IoC.Configuration.Interfaces.IMethodFinder`1.GetBestMatch(System.Collections.Generic.IEnumerable{`0},System.Collections.Generic.IEnumerable{System.Object})">
  1095. <summary>
  1096. Determines which method best matches the
  1097. services currently in the target container.
  1098. </summary>
  1099. <param name="items">The list of methods to search.</param>
  1100. <param name="additionalArguments">The additional arguments that will be passed to the method.</param>
  1101. <returns>Returns the method with the most resolvable parameters from the target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</returns>
  1102. </member>
  1103. <member name="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderWithContainer`1">
  1104. <summary>
  1105. Represents a method finder that uses a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance
  1106. during its method searches.
  1107. </summary>
  1108. <typeparam name="TMethod">
  1109. </typeparam>
  1110. </member>
  1111. <member name="P:LinFu.IoC.Configuration.Interfaces.IMethodFinderWithContainer`1.Container">
  1112. <summary>
  1113. Gets the value indicating the service container that will be used in the
  1114. method search.
  1115. </summary>
  1116. </member>
  1117. <member name="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1">
  1118. <summary>
  1119. An interface responsible for determining which methods
  1120. should be injected.
  1121. </summary>
  1122. </member>
  1123. <member name="M:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1.GetInjectableMembers(System.Type)">
  1124. <summary>
  1125. Returns the list of <see cref="T:System.Reflection.MethodBase" /> objects
  1126. that will be injected with arbitrary values.
  1127. </summary>
  1128. <param name="targetType">The target type that contains the target methods.</param>
  1129. <returns>A set of methods that describe which methods that will injected.</returns>
  1130. </member>
  1131. <member name="T:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1">
  1132. <summary>
  1133. Defines the basic behavior of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" /> interface.
  1134. </summary>
  1135. <typeparam name="TMember">The member type that will be filtered.</typeparam>
  1136. </member>
  1137. <member name="M:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1.GetInjectableMembers(System.Type)">
  1138. <summary>
  1139. Returns the list of <typeparamref name="TMember" /> objects
  1140. whose setters will injected with arbitrary values.
  1141. </summary>
  1142. <remarks>This implementation selects properties that are marked with the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />.</remarks>
  1143. <param name="targetType">The target type that contains the target properties.</param>
  1144. <returns>A set of properties that describe which parameters should be injected.</returns>
  1145. </member>
  1146. <member name="M:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1.GetMembers(System.Type,LinFu.IoC.Interfaces.IServiceContainer)">
  1147. <summary>
  1148. Determines which members should be selected from the <paramref name="targetType" />
  1149. using the <paramref name="container" /></summary>
  1150. <param name="targetType">The target type that will supply the list of members that will be filtered.</param>
  1151. <param name="container">The target container.</param>
  1152. <returns>A list of <typeparamref name="TMember" /> objects that pass the filter description.</returns>
  1153. </member>
  1154. <member name="M:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1.Filter(LinFu.IoC.Interfaces.IServiceContainer,System.Collections.Generic.IEnumerable{`0})">
  1155. <summary>
  1156. Determines which items should be injected from the <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  1157. </summary>
  1158. <param name="container">The source container that will supply the values for the selected members.</param>
  1159. <param name="items">The list of properties that will be filtered.</param>
  1160. <returns>A list of properties that will be injected.</returns>
  1161. </member>
  1162. <member name="M:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  1163. <summary>
  1164. Initializes the <see cref="T:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1" /> class.
  1165. </summary>
  1166. <param name="source">The host container.</param>
  1167. </member>
  1168. <member name="T:LinFu.IoC.Configuration.PropertyInjectionFilter">
  1169. <summary>
  1170. An <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" /> implementation
  1171. that automatically selects properties whose property types
  1172. currently exist in the target container.
  1173. </summary>
  1174. </member>
  1175. <member name="M:LinFu.IoC.Configuration.PropertyInjectionFilter.GetMembers(System.Type,LinFu.IoC.Interfaces.IServiceContainer)">
  1176. <summary>
  1177. Determines which members should be selected from the <paramref name="targetType" />
  1178. using the <paramref name="container" /></summary>
  1179. <param name="targetType">The target type that will supply the list of members that will be filtered.</param>
  1180. <param name="container">The target container.</param>
  1181. <returns>A list of <see cref="T:System.Reflection.PropertyInfo" /> objects that pass the filter description.</returns>
  1182. </member>
  1183. <member name="T:LinFu.IoC.Interfaces.IFactory`1">
  1184. <summary>
  1185. A strongly-typed version of <see cref="T:LinFu.IoC.Interfaces.IFactory" />. Allows users
  1186. to create their own service instances
  1187. </summary>
  1188. <typeparam name="T">The instance type that can be created by this factory.</typeparam>
  1189. </member>
  1190. <member name="M:LinFu.IoC.Interfaces.IFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  1191. <summary>
  1192. Creates a service instance using the given <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance.
  1193. </summary>
  1194. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  1195. <returns>An object instance that represents the service to be created. This cannot be <c>null</c>.</returns>
  1196. </member>
  1197. <member name="T:LinFu.IoC.Configuration.Interfaces.IPropertySetter">
  1198. <summary>
  1199. A class responsible for setting property values.
  1200. </summary>
  1201. </member>
  1202. <member name="M:LinFu.IoC.Configuration.Interfaces.IPropertySetter.Set(System.Object,System.Reflection.PropertyInfo,System.Object)">
  1203. <summary>
  1204. Sets the value of the <paramref name="targetProperty" />.
  1205. </summary>
  1206. /// <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>
  1207. <member name="T:LinFu.IoC.Configuration.IGenerateFactory`1">
  1208. <summary>
  1209. Represents a fluent class that allows
  1210. users to create specific types of factories.
  1211. </summary>
  1212. <typeparam name="TService">The type of service being created.</typeparam>
  1213. </member>
  1214. <member name="M:LinFu.IoC.Configuration.IGenerateFactory`1.AsSingleton">
  1215. <summary>
  1216. Creates a singleton factory.
  1217. </summary>
  1218. <seealso cref="T:LinFu.IoC.Factories.SingletonFactory`1" />
  1219. </member>
  1220. <member name="M:LinFu.IoC.Configuration.IGenerateFactory`1.OncePerThread">
  1221. <summary>
  1222. Creates a once per thread factory.
  1223. </summary>
  1224. <seealso cref="T:LinFu.IoC.Factories.OncePerThreadFactory`1" />
  1225. </member>
  1226. <member name="M:LinFu.IoC.Configuration.IGenerateFactory`1.OncePerRequest">
  1227. <summary>
  1228. Creates a once per request factory.
  1229. </summary>
  1230. <seealso cref="T:LinFu.IoC.Factories.OncePerRequestFactory`1" />
  1231. </member>
  1232. <member name="T:LinFu.IoC.Interfaces.IFactoryStorage">
  1233. <summary>
  1234. Represents a class that stores factory instances.
  1235. </summary>
  1236. </member>
  1237. <member name="M:LinFu.IoC.Interfaces.IFactoryStorage.GetFactory(LinFu.IoC.Interfaces.IServiceInfo)">
  1238. <summary>
  1239. Determines which factories should be used
  1240. for a particular service request.
  1241. </summary>
  1242. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
  1243. <returns>A factory instance.</returns>
  1244. </member>
  1245. <member name="M:LinFu.IoC.Interfaces.IFactoryStorage.AddFactory(LinFu.IoC.Interfaces.IServiceInfo,LinFu.IoC.Interfaces.IFactory)">
  1246. <summary>
  1247. Adds a <see cref="T:LinFu.IoC.Interfaces.IFactory" /> to the current <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object.
  1248. </summary>
  1249. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
  1250. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will create the object instance.</param>
  1251. </member>
  1252. <member name="M:LinFu.IoC.Interfaces.IFactoryStorage.ContainsFactory(LinFu.IoC.Interfaces.IServiceInfo)">
  1253. <summary>
  1254. Determines whether or not a factory exists in storage.
  1255. </summary>
  1256. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
  1257. <returns>Returns <c>true</c> if the factory exists; otherwise, it will return <c>false</c>.</returns>
  1258. </member>
  1259. <member name="P:LinFu.IoC.Interfaces.IFactoryStorage.AvailableFactories">
  1260. <summary>
  1261. Gets a value indicating the list of <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> objects
  1262. that describe each available factory in the current <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" />
  1263. instance.
  1264. </summary>
  1265. </member>
  1266. <member name="T:LinFu.IoC.FactoryStorage">
  1267. <summary>
  1268. Represents the default implementation of the <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> class.
  1269. </summary>
  1270. </member>
  1271. <member name="M:LinFu.IoC.FactoryStorage.GetFactory(LinFu.IoC.Interfaces.IServiceInfo)">
  1272. <summary>
  1273. Determines which factories should be used
  1274. for a particular service request.
  1275. </summary>
  1276. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
  1277. <returns>A factory instance.</returns>
  1278. </member>
  1279. <member name="M:LinFu.IoC.FactoryStorage.AddFactory(LinFu.IoC.Interfaces.IServiceInfo,LinFu.IoC.Interfaces.IFactory)">
  1280. <summary>
  1281. Adds a <see cref="T:LinFu.IoC.Interfaces.IFactory" /> to the current <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object.
  1282. </summary>
  1283. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
  1284. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will create the object instance.</param>
  1285. </member>
  1286. <member name="M:LinFu.IoC.FactoryStorage.ContainsFactory(LinFu.IoC.Interfaces.IServiceInfo)">
  1287. <summary>
  1288. Determines whether or not a factory exists in storage.
  1289. </summary>
  1290. <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
  1291. <returns>Returns <c>true</c> if the factory exists; otherwise, it will return <c>false</c>.</returns>
  1292. </member>
  1293. <member name="P:LinFu.IoC.FactoryStorage.AvailableFactories">
  1294. <summary>
  1295. Gets a value indicating the list of <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> objects
  1296. that describe each available factory in the current <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" />
  1297. instance.
  1298. </summary>
  1299. </member>
  1300. <member name="T:LinFu.IoC.Configuration.ArgumentResolver">
  1301. <summary>
  1302. Represents the default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IArgumentResolver" /> class.
  1303. </summary>
  1304. </member>
  1305. <member name="M:LinFu.IoC.Configuration.ArgumentResolver.ResolveFrom(System.Collections.Generic.IEnumerable{System.Type},LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  1306. <summary>
  1307. Generates method arguments from the given <paramref name="parameterTypes" />
  1308. and <paramref name="container" />.
  1309. </summary>
  1310. <param name="parameterTypes">The parameter types for the target method.</param>
  1311. <param name="container">The container that will provide the method arguments.</param>
  1312. <param name="additionalArguments">The additional arguments that will be passed to the target method.</param>
  1313. <returns>An array of objects that represent the arguments to be passed to the target method.</returns>
  1314. </member>
  1315. <member name="M:LinFu.IoC.Configuration.ArgumentResolver.AddArrayArgument(System.Type,LinFu.IoC.Interfaces.IServiceContainer,System.Collections.Generic.ICollection{System.Object})">
  1316. <summary>
  1317. Constructs an array of services using the services currently available
  1318. in the <paramref name="container" />.
  1319. </summary>
  1320. <param name="parameterType">The current parameter type.</param>
  1321. <param name="container">The container that will be used to build the array of services.</param>
  1322. <param name="argumentList">The list that will store new service array.</param>
  1323. </member>
  1324. <member name="M:LinFu.IoC.Configuration.ArgumentResolver.AddEnumerableArgument(System.Type,LinFu.IoC.Interfaces.IServiceContainer,System.Collections.Generic.ICollection{System.Object})">
  1325. <summary>
  1326. Determines whether or not a parameter type is an existing
  1327. list of available services and automatically constructs the
  1328. service list and adds it to the <paramref name="argumentList" />.
  1329. </summary>
  1330. <param name="parameterType">The current constructor parameter type.</param>
  1331. <param name="container">The container that will provide the argument values.</param>
  1332. <param name="argumentList">The list that will hold the arguments to be passed to the constructor.</param>
  1333. </member>
  1334. <member name="T:LinFu.IoC.Configuration.LifecycleType">
  1335. <summary>
  1336. An enumeration that denotes the instance behavior
  1337. of a particular object reference.
  1338. </summary>
  1339. </member>
  1340. <member name="F:LinFu.IoC.Configuration.LifecycleType.OncePerRequest">
  1341. <summary>
  1342. This means that a new object instance
  1343. will be created on each call.
  1344. </summary>
  1345. </member>
  1346. <member name="F:LinFu.IoC.Configuration.LifecycleType.OncePerThread">
  1347. <summary>
  1348. This means that a new object instance
  1349. will be created only once per thread.
  1350. </summary>
  1351. </member>
  1352. <member name="F:LinFu.IoC.Configuration.LifecycleType.Singleton">
  1353. <summary>
  1354. This means that only a single object instance
  1355. will ever be created in spite of the number of
  1356. subsequent requests for a new object instance.
  1357. </summary>
  1358. </member>
  1359. <member name="T:LinFu.IoC.Interfaces.IPreProcessor">
  1360. <summary>
  1361. Represents a class that can inspect or modify service requests
  1362. from a given container before a service is created.
  1363. </summary>
  1364. </member>
  1365. <member name="M:LinFu.IoC.Interfaces.IPreProcessor.Preprocess(LinFu.IoC.Interfaces.IServiceRequest)">
  1366. <summary>
  1367. Allows a <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> instance
  1368. to inspect or modify the result of a service request
  1369. just before the service is instantiated.
  1370. </summary>
  1371. <seealso cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" />
  1372. <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>
  1373. </member>
  1374. <member name="T:LinFu.IoC.Configuration.Injectors.CustomFactoryInjector">
  1375. <summary>
  1376. A class that injects unnamed custom <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instances into a given
  1377. service container.
  1378. </summary>
  1379. </member>
  1380. <member name="M:LinFu.IoC.Configuration.Injectors.CustomFactoryInjector.#ctor(System.Type,LinFu.IoC.Interfaces.IFactory)">
  1381. <summary>
  1382. Initializes the class with the given service type and factory.
  1383. </summary>
  1384. <param name="serviceType">The service type that will be created by the factory.</param>
  1385. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be used to create the service instance.</param>
  1386. </member>
  1387. <member name="M:LinFu.IoC.Configuration.Injectors.CustomFactoryInjector.Preprocess(LinFu.IoC.Interfaces.IServiceRequest)">
  1388. <summary>
  1389. Injects the given factory into the target container.
  1390. </summary>
  1391. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequest" /> instance that describes the service that is currently being requested.</param>
  1392. </member>
  1393. <member name="T:LinFu.IoC.Configuration.AttributedFieldInjectionFilter">
  1394. <summary>
  1395. A default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" />
  1396. class that returns fields which have the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />
  1397. defined.
  1398. </summary>
  1399. </member>
  1400. <member name="M:LinFu.IoC.Configuration.AttributedFieldInjectionFilter.#ctor">
  1401. <summary>
  1402. Initializes the class and uses the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />
  1403. to specify which field should be automatically injected with
  1404. services from the container.
  1405. </summary>
  1406. </member>
  1407. <member name="M:LinFu.IoC.Configuration.AttributedFieldInjectionFilter.#ctor(System.Type)">
  1408. <summary>
  1409. Initializes the class and uses the <paramref name="attributeType" />
  1410. to specify which fields should be automatically injected with
  1411. services from the container.
  1412. </summary>
  1413. <param name="attributeType">The custom property attribute that will be used to mark properties for automatic injection.</param>
  1414. </member>
  1415. <member name="M:LinFu.IoC.Configuration.AttributedFieldInjectionFilter.GetMembers(System.Type,LinFu.IoC.Interfaces.IServiceContainer)">
  1416. <summary>
  1417. Determines which members should be selected from the <paramref name="targetType" />
  1418. using the <paramref name="container" /></summary>
  1419. <param name="targetType">The target type that will supply the list of members that will be filtered.</param>
  1420. <param name="container">The target container.</param>
  1421. <returns>A list of <see cref="T:System.Reflection.FieldInfo" /> objects that pass the filter description.</returns>
  1422. </member>
  1423. <member name="T:LinFu.IoC.Configuration.IUsingLambda`1">
  1424. <summary>
  1425. Represents a fluent class that creates
  1426. a factory method that will be used
  1427. in instantiating a specific service instance.
  1428. </summary>
  1429. <typeparam name="TService">The service type being instantiated.</typeparam>
  1430. </member>
  1431. <member name="M:LinFu.IoC.Configuration.IUsingLambda`1.Using``1">
  1432. <summary>
  1433. Creates a service instance using the
  1434. concrete <typeparamref name="TConcrete" /> type
  1435. as the implementation for the <typeparamref name="TService" />
  1436. type.
  1437. </summary>
  1438. <typeparam name="TConcrete">The concrete implementation that implements <typeparamref name="TService" />. This class must have a default constructor.</typeparam>
  1439. <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>
  1440. </member>
  1441. <member name="M:LinFu.IoC.Configuration.IUsingLambda`1.Using(System.Func{LinFu.IoC.Interfaces.IServiceContainer,System.Object[],`0})">
  1442. <summary>
  1443. Creates a service instance using the
  1444. <paramref name="factoryMethod" /> to
  1445. instantiate the service instance
  1446. with a particular factory type.
  1447. </summary>
  1448. <seealso cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" />
  1449. <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
  1450. <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>
  1451. </member>
  1452. <member name="M:LinFu.IoC.Configuration.IUsingLambda`1.Using(System.Func{LinFu.IoC.Interfaces.IServiceContainer,`0})">
  1453. <summary>
  1454. Creates a service instance using the
  1455. <paramref name="factoryMethod" /> to
  1456. instantiate the service instance
  1457. with a particular factory type.
  1458. </summary>
  1459. <seealso cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" />
  1460. <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
  1461. <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>
  1462. </member>
  1463. <member name="M:LinFu.IoC.Configuration.IUsingLambda`1.Using(System.Func{`0})">
  1464. <summary>
  1465. Creates a service instance using the
  1466. <paramref name="factoryMethod" /> to
  1467. instantiate the service instance
  1468. with a particular factory type.
  1469. </summary>
  1470. <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
  1471. <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>
  1472. </member>
  1473. <member name="T:LinFu.IoC.Configuration.UsingLambda`1">
  1474. <summary>
  1475. Represents a fluent class that creates
  1476. a factory method that will be used
  1477. in instantiating a specific service instance.
  1478. </summary>
  1479. <typeparam name="TService">The service type being instantiated.</typeparam>
  1480. </member>
  1481. <member name="M:LinFu.IoC.Configuration.UsingLambda`1.#ctor(LinFu.IoC.Configuration.InjectionContext{`0})">
  1482. <summary>
  1483. Initializes the class using the given <paramref name="context" />.
  1484. </summary>
  1485. <param name="context">the <c>internal</c> context class that will be used to
  1486. incrementally build enough information to inject a specific
  1487. <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> instance into a container.</param>
  1488. </member>
  1489. <member name="M:LinFu.IoC.Configuration.UsingLambda`1.Using``1">
  1490. <summary>
  1491. Creates a service instance using the
  1492. concrete <typeparamref name="TConcrete" /> type
  1493. as the implementation for the <typeparamref name="TService" />
  1494. type.
  1495. </summary>
  1496. <typeparam name="TConcrete">The concrete implementation that implements <typeparamref name="TService" />. This class must have a default constructor.</typeparam>
  1497. <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>
  1498. </member>
  1499. <member name="M:LinFu.IoC.Configuration.UsingLambda`1.Using(System.Func{LinFu.IoC.Interfaces.IServiceContainer,System.Object[],`0})">
  1500. <summary>
  1501. Creates a service instance using the
  1502. <paramref name="factoryMethod" /> to
  1503. instantiate the service instance
  1504. with a particular factory type.
  1505. </summary>
  1506. <seealso cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" />
  1507. <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
  1508. <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>
  1509. </member>
  1510. <member name="M:LinFu.IoC.Configuration.UsingLambda`1.Using(System.Func{LinFu.IoC.Interfaces.IServiceContainer,`0})">
  1511. <summary>
  1512. Creates a service instance using the
  1513. <paramref name="factoryMethod" /> to
  1514. instantiate the service instance
  1515. with a particular factory type.
  1516. </summary>
  1517. <seealso cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" />
  1518. <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
  1519. <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>
  1520. </member>
  1521. <member name="M:LinFu.IoC.Configuration.UsingLambda`1.Using(System.Func{`0})">
  1522. <summary>
  1523. Creates a service instance using the
  1524. <paramref name="factoryMethod" /> to
  1525. instantiate the service instance
  1526. with a particular factory type.
  1527. </summary>
  1528. <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
  1529. <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>
  1530. </member>
  1531. <member name="T:LinFu.IoC.Interfaces.IFactory">
  1532. <summary>
  1533. Allows an object to create its own service instances.
  1534. </summary>
  1535. </member>
  1536. <member name="M:LinFu.IoC.Interfaces.IFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  1537. <summary>
  1538. Creates a service instance using the given <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance.
  1539. </summary>
  1540. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  1541. <returns>An object instance that represents the service to be created. This cannot be <c>null</c>.</returns>
  1542. </member>
  1543. <member name="T:LinFu.IoC.Factories.BaseFactory`1">
  1544. <summary>
  1545. A factory base class that combines both the IFactory and
  1546. the IFactory&lt;T&gt; interfaces into a single class.
  1547. </summary>
  1548. <typeparam name="T">
  1549. </typeparam>
  1550. </member>
  1551. <member name="M:LinFu.IoC.Factories.BaseFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  1552. <summary>
  1553. Creates a service instance using the given container.
  1554. </summary>
  1555. <remarks>
  1556. <see cref="T:LinFu.IoC.Interfaces.IFactory" /> developers can inherit from this class
  1557. instead of having to write their own custom factories
  1558. from scratch. This should cut down on some of the boilerplate
  1559. code necessary to get a factory class up and running.
  1560. </remarks>
  1561. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  1562. <returns>An object instance that represents the service to be created. This cannot be <c>null</c>.</returns>
  1563. </member>
  1564. <member name="T:LinFu.IoC.Factories.SingletonFactory`1">
  1565. <summary>
  1566. A factory that creates Singletons. Each service that this factory creates will only be created once per concrete type.
  1567. </summary>
  1568. <typeparam name="T">The type of service to instantiate.</typeparam>
  1569. </member>
  1570. <member name="M:LinFu.IoC.Factories.SingletonFactory`1.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,`0})">
  1571. <summary>
  1572. Initializes the factory class using the <paramref name="createInstance" />
  1573. parameter as a factory delegate.
  1574. </summary>
  1575. <example>
  1576. The following is an example of initializing a <c>SingletonFactory&lt;T&gt;</c>
  1577. type:
  1578. <code>
  1579. // Define the factory delegate
  1580. Func&lt;IFactoryRequest, ISomeService&gt; createService = container=&gt;new SomeServiceImplementation();
  1581. // Create the factory
  1582. var factory = new SingletonFactory&lt;ISomeService&gt;(createService);
  1583. // Use the service instance
  1584. var service = factory.CreateInstance(null);
  1585. // ...
  1586. </code></example>
  1587. <param name="createInstance">The delegate that will be used to create each new service instance.</param>
  1588. </member>
  1589. <member name="M:LinFu.IoC.Factories.SingletonFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  1590. <summary>
  1591. A method that creates a service instance as a singleton.
  1592. </summary>
  1593. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  1594. <returns>A service instance as a singleton.</returns>
  1595. </member>
  1596. <member name="T:LinFu.IoC.Configuration.Interfaces.IMemberResolver`1">
  1597. <summary>
  1598. Represents a class that can choose a member that best matches
  1599. the services currently available in a given <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  1600. </summary>
  1601. <typeparam name="TMember">The member type that will be searched.</typeparam>
  1602. </member>
  1603. <member name="M:LinFu.IoC.Configuration.Interfaces.IMemberResolver`1.ResolveFrom(System.Type,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  1604. <summary>
  1605. Uses the <paramref name="container" /> to determine which member can be used to instantiate
  1606. a <paramref name="concreteType">concrete type</paramref>.
  1607. </summary>
  1608. <param name="concreteType">The target type.</param>
  1609. <param name="container">The container that contains the service instances that will be used to invoke the target member.</param>
  1610. <param name="additionalArguments">The additional arguments that will be used to evaluate the best member for service assignment.</param>
  1611. <returns>A <typeparamref name="TMember" /> instance if a match is found; otherwise, it will return <c>null</c>.</returns>
  1612. </member>
  1613. <member name="T:LinFu.IoC.Configuration.MemberResolver`1">
  1614. <summary>
  1615. Represents a class that can choose a member that best matches
  1616. the services currently available in a given <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  1617. </summary>
  1618. <typeparam name="TMember">The member type that will be searched.</typeparam>
  1619. </member>
  1620. <member name="M:LinFu.IoC.Configuration.MemberResolver`1.#ctor">
  1621. <summary>
  1622. The default constructor for the <see cref="T:LinFu.IoC.Configuration.MemberResolver`1" /> class.
  1623. </summary>
  1624. </member>
  1625. <member name="M:LinFu.IoC.Configuration.MemberResolver`1.#ctor(System.Func{LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Configuration.Interfaces.IMethodFinder{`0}})">
  1626. <summary>
  1627. Initializes the class with a <paramref name="getFinder">functor</paramref>
  1628. that will be used to instantiate the method finder that will be used in the search.
  1629. </summary>
  1630. <param name="getFinder">The functor that will be used to instantiate the method finder.</param>
  1631. </member>
  1632. <member name="M:LinFu.IoC.Configuration.MemberResolver`1.ResolveFrom(System.Type,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  1633. <summary>
  1634. Uses the <paramref name="container" /> to determine which member to use from
  1635. the <paramref name="concreteType">concrete type</paramref>.
  1636. </summary>
  1637. <param name="concreteType">The target type.</param>
  1638. <param name="container">The container that contains the member values that will be used to invoke the members.</param>
  1639. <param name="additionalArguments">The additional arguments that will be used to evaluate the best match to use to invoke the target member.</param>
  1640. <returns>A member instance if a match is found; otherwise, it will return <c>null</c>.</returns>
  1641. </member>
  1642. <member name="M:LinFu.IoC.Configuration.MemberResolver`1.GetMethodFinder(LinFu.IoC.Interfaces.IServiceContainer)">
  1643. <summary>
  1644. Determines the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinder`1" /> that will be used
  1645. in the method search.
  1646. </summary>
  1647. <param name="container">
  1648. </param>
  1649. <returns>
  1650. </returns>
  1651. </member>
  1652. <member name="M:LinFu.IoC.Configuration.MemberResolver`1.GetDefaultResult(System.Type)">
  1653. <summary>
  1654. The method used to retrieve the default result if no
  1655. other alternative is found.
  1656. </summary>
  1657. <param name="concreteType">The target type that contains the default member.</param>
  1658. <returns>The default member result.</returns>
  1659. </member>
  1660. <member name="M:LinFu.IoC.Configuration.MemberResolver`1.GetMembers(System.Type)">
  1661. <summary>
  1662. Lists the members associated with the <paramref name="concreteType" />.
  1663. </summary>
  1664. <param name="concreteType">The target type that contains the type members.</param>
  1665. <returns>A list of members that belong to the concrete type.</returns>
  1666. </member>
  1667. <member name="T:LinFu.IoC.Configuration.AutoMemberInjector`1">
  1668. <summary>
  1669. The base class that defines the behavior for automatically injecting service
  1670. instances into type member instances.
  1671. </summary>
  1672. <typeparam name="TMember">
  1673. </typeparam>
  1674. </member>
  1675. <member name="M:LinFu.IoC.Configuration.AutoMemberInjector`1.PostProcess(LinFu.IoC.Interfaces.IServiceRequestResult)">
  1676. <summary>
  1677. Automatically injects service instances
  1678. into properties as soon as they are initialized.
  1679. </summary>
  1680. <param name="result">The service request result that contains the service whose members will be injected with service instances.</param>
  1681. </member>
  1682. <member name="M:LinFu.IoC.Configuration.AutoMemberInjector`1.Inject(System.Object,`0,LinFu.IoC.Configuration.Interfaces.IArgumentResolver,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  1683. <summary>
  1684. Injects services from the <paramref name="container" /> into the target <paramref name="member" /> instance.
  1685. </summary>
  1686. <param name="target">The target object.</param>
  1687. <param name="member">The <typeparamref name="TMember" /> instance that will store the service instance.</param>
  1688. <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>
  1689. <param name="additionalArguments">The additional arguments that were passed to the <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> during the instantiation process.</param>
  1690. <param name="container">The container that will provide the service instances.</param>
  1691. </member>
  1692. <member name="M:LinFu.IoC.Configuration.AutoMemberInjector`1.AutoInject(LinFu.IoC.Interfaces.IServiceRequestResult)">
  1693. <summary>
  1694. Injects a member service dependency into a target service instance.
  1695. </summary>
  1696. <param name="result">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> that will be processed for injection.</param>
  1697. </member>
  1698. <member name="M:LinFu.IoC.Configuration.AutoMemberInjector`1.BeginLoad(LinFu.IoC.Interfaces.IServiceContainer)">
  1699. <summary>
  1700. Does absolutely nothing.
  1701. </summary>
  1702. <param name="target">The target container.</param>
  1703. </member>
  1704. <member name="M:LinFu.IoC.Configuration.AutoMemberInjector`1.EndLoad(LinFu.IoC.Interfaces.IServiceContainer)">
  1705. <summary>
  1706. Inserts the <see cref="T:LinFu.IoC.Configuration.AutoPropertyInjector" /> class at the end
  1707. of the PostProcessor chain.
  1708. </summary>
  1709. <param name="target">The target container.</param>
  1710. </member>
  1711. <member name="T:LinFu.IoC.Configuration.AutoPropertyInjector">
  1712. <summary>
  1713. A class that automatically injects property dependencies into
  1714. service instances.
  1715. </summary>
  1716. </member>
  1717. <member name="M:LinFu.IoC.Configuration.AutoPropertyInjector.Inject(System.Object,System.Reflection.PropertyInfo,LinFu.IoC.Configuration.Interfaces.IArgumentResolver,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  1718. <summary>
  1719. Injects services from the <paramref name="container" /> into the target <see cref="T:System.Reflection.PropertyInfo" /> instance.
  1720. </summary>
  1721. <param name="target">The target object.</param>
  1722. <param name="property">The <see cref="T:System.Reflection.PropertyInfo" /> instance that will store the service instance.</param>
  1723. <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>
  1724. <param name="additionalArguments">The additional arguments that were passed to the <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> during the instantiation process.</param>
  1725. <param name="container">The container that will provide the service instances.</param>
  1726. </member>
  1727. <member name="T:LinFu.IoC.Configuration.PropertySetter">
  1728. <summary>
  1729. A class responsible for setting property values.
  1730. </summary>
  1731. </member>
  1732. <member name="M:LinFu.IoC.Configuration.PropertySetter.Set(System.Object,System.Reflection.PropertyInfo,System.Object)">
  1733. <summary>
  1734. Sets the value of the <paramref name="targetProperty" />.
  1735. </summary>
  1736. <param name="target">The target instance that contains the property to be modified.</param>
  1737. <param name="targetProperty">The property that will store the given value.</param>
  1738. <param name="value">The value that will be assigned to the property.</param>
  1739. </member>
  1740. <member name="M:LinFu.IoC.Configuration.PropertySetter.GenerateSetter(System.Reflection.PropertyInfo)">
  1741. <summary>
  1742. Generates an <see cref="T:System.Action`2" /> delegate that will be used
  1743. as the property setter for a particular type.
  1744. </summary>
  1745. <param name="targetProperty">The property that will be modified.</param>
  1746. <returns>A property setter.</returns>
  1747. </member>
  1748. <member name="T:LinFu.IoC.Configuration.AssemblyContainerLoader">
  1749. <summary>
  1750. Represents a class that loads configuration information
  1751. from a given assembly.
  1752. </summary>
  1753. </member>
  1754. <member name="T:LinFu.IoC.Configuration.AutoFieldInjector">
  1755. <summary>
  1756. A class that automatically injects fields using values
  1757. provided by an <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  1758. </summary>
  1759. </member>
  1760. <member name="M:LinFu.IoC.Configuration.AutoFieldInjector.Inject(System.Object,System.Reflection.FieldInfo,LinFu.IoC.Configuration.Interfaces.IArgumentResolver,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  1761. <summary>
  1762. Injects a field with values from a given container.
  1763. </summary>
  1764. <param name="target">The target object.</param>
  1765. <param name="member">The <see cref="T:System.Reflection.FieldInfo" /> instance that will store the service instance.</param>
  1766. <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>
  1767. <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>
  1768. <param name="container">The container that will provide the service instances.</param>
  1769. </member>
  1770. <member name="T:LinFu.IoC.Configuration.ConstructorMethodBuilder">
  1771. <summary>
  1772. A method builder that generates dynamic methods using existing constructors.
  1773. </summary>
  1774. </member>
  1775. <member name="M:LinFu.IoC.Configuration.ConstructorMethodBuilder.GetReturnType(System.Reflection.ConstructorInfo)">
  1776. <summary>
  1777. Returns the declaring type of the target constructor.
  1778. </summary>
  1779. <param name="constructor">
  1780. </param>
  1781. <returns>The declaring type of the target constructor.</returns>
  1782. </member>
  1783. <member name="M:LinFu.IoC.Configuration.ConstructorMethodBuilder.EmitCall(System.Reflection.Emit.ILGenerator,System.Reflection.ConstructorInfo)">
  1784. <summary>
  1785. Emits an instruction that instantiates the type associated with the
  1786. <paramref name="constructor" />.
  1787. </summary>
  1788. <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the target method body.</param>
  1789. <param name="constructor">The target constructor.</param>
  1790. </member>
  1791. <member name="T:LinFu.IoC.Configuration.ImplementsAttribute">
  1792. <summary>
  1793. The attribute used to specify how a service should be implemented
  1794. in addition to its instancing behavior.
  1795. </summary>
  1796. </member>
  1797. <member name="F:LinFu.IoC.Configuration.ImplementsAttribute.ServiceName">
  1798. <summary>
  1799. The name to associate with the given service.
  1800. </summary>
  1801. </member>
  1802. <member name="M:LinFu.IoC.Configuration.ImplementsAttribute.#ctor(System.Type)">
  1803. <summary>
  1804. Allows users to add services to a container using a
  1805. given <paramref name="serviceType">service type</paramref>.
  1806. </summary>
  1807. <remarks>By default, each service will be created once per request.</remarks>
  1808. <param name="serviceType">The <see cref="T:System.Type" /> of service to implement.</param>
  1809. </member>
  1810. <member name="M:LinFu.IoC.Configuration.ImplementsAttribute.#ctor(System.Type,LinFu.IoC.Configuration.LifecycleType)">
  1811. <summary>
  1812. Allows users to add services to a container using a
  1813. given <paramref name="serviceType">service type</paramref> and
  1814. <paramref name="lifeCycleType">lifecycle type</paramref>.
  1815. </summary>
  1816. <param name="serviceType">The <see cref="T:System.Type" /> of service to implement.</param>
  1817. <param name="lifeCycleType">The instancing behavior to use with this implementation.</param>
  1818. </member>
  1819. <member name="P:LinFu.IoC.Configuration.ImplementsAttribute.ServiceType">
  1820. <summary>
  1821. The type of service that will be implemented.
  1822. </summary>
  1823. </member>
  1824. <member name="P:LinFu.IoC.Configuration.ImplementsAttribute.LifecycleType">
  1825. <summary>
  1826. The instancing behavior of the service instance.
  1827. </summary>
  1828. <seealso cref="P:LinFu.IoC.Configuration.ImplementsAttribute.LifecycleType" />
  1829. </member>
  1830. <member name="T:LinFu.IoC.ServiceNotFoundException">
  1831. <summary>
  1832. The exception thrown when a service type is
  1833. requested from a container and that named container
  1834. is unable to find or create that particular service instance.
  1835. </summary>
  1836. </member>
  1837. <member name="M:LinFu.IoC.ServiceNotFoundException.#ctor(System.Type)">
  1838. <summary>
  1839. Initializes the service exception using the
  1840. given <paramref name="serviceType" /> as
  1841. the service that was not found.
  1842. </summary>
  1843. <param name="serviceType">The service type being requested.</param>
  1844. </member>
  1845. <member name="P:LinFu.IoC.ServiceNotFoundException.Message">
  1846. <summary>
  1847. The error message that this particular exception
  1848. will display.
  1849. </summary>
  1850. </member>
  1851. <member name="T:LinFu.IoC.Interfaces.IFactoryRequest">
  1852. <summary>
  1853. Represents the parameters made to a <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance during
  1854. a <see cref="M:LinFu.IoC.Interfaces.IFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)" /> method call.
  1855. </summary>
  1856. </member>
  1857. <member name="P:LinFu.IoC.Interfaces.IFactoryRequest.Container">
  1858. <summary>
  1859. Gets or sets the value indicating the service container that made the service request.
  1860. </summary>
  1861. </member>
  1862. <member name="P:LinFu.IoC.Interfaces.IFactoryRequest.ServiceName">
  1863. <summary>
  1864. Gets the value indicating the service name.
  1865. </summary>
  1866. <remarks>A null service name indicates that no service name was given during the request.</remarks>
  1867. </member>
  1868. <member name="P:LinFu.IoC.Interfaces.IFactoryRequest.ServiceType">
  1869. <summary>
  1870. Gets the value indicating the requested service type.
  1871. </summary>
  1872. </member>
  1873. <member name="P:LinFu.IoC.Interfaces.IFactoryRequest.Arguments">
  1874. <summary>
  1875. Gets the value indicating the additional arguments given in the factory request.
  1876. </summary>
  1877. </member>
  1878. <member name="T:LinFu.IoC.FactoryStorageExtensions">
  1879. <summary>
  1880. An extension class that adds a few helper methods to the
  1881. <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> interface.
  1882. </summary>
  1883. </member>
  1884. <member name="M:LinFu.IoC.FactoryStorageExtensions.AddFactory(LinFu.IoC.Interfaces.IFactoryStorage,System.String,System.Type,LinFu.IoC.Interfaces.IFactory)">
  1885. <summary>
  1886. Adds a factory to the current <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> instance.
  1887. </summary>
  1888. <param name="storage">The <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object that will store the target factory.</param>
  1889. <param name="serviceName">The name that will be associated with the target factory.</param>
  1890. <param name="serviceType">The service type that the factory will be able to create.</param>
  1891. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will create the object instance.</param>
  1892. </member>
  1893. <member name="M:LinFu.IoC.FactoryStorageExtensions.GetFactory(LinFu.IoC.Interfaces.IFactoryStorage,System.String,System.Type)">
  1894. <summary>
  1895. Determines which factories should be used
  1896. for a particular service request.
  1897. </summary>
  1898. <param name="storage">The <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object that holds the target factory.</param>
  1899. <param name="serviceName">The name that will be associated with the target factory.</param>
  1900. <param name="serviceType">The service type that the factory will be able to create.</param>
  1901. <returns>A factory instance.</returns>
  1902. </member>
  1903. <member name="M:LinFu.IoC.FactoryStorageExtensions.ContainsFactory(LinFu.IoC.Interfaces.IFactoryStorage,System.String,System.Type)">
  1904. <summary>
  1905. Determines whether or not a factory exists in storage.
  1906. </summary>
  1907. <param name="storage">The <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object that holds the target factory.</param>
  1908. <param name="serviceName">The name that will be associated with the target factory.</param>
  1909. <param name="serviceType">The service type that the factory will be able to create.</param>
  1910. <returns>Returns <c>true</c> if the factory exists; otherwise, it will return <c>false</c>.</returns>
  1911. </member>
  1912. <member name="T:LinFu.IoC.FactoryRequest">
  1913. <summary>
  1914. Represents the default implementation of the <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> interface.
  1915. </summary>
  1916. </member>
  1917. <member name="P:LinFu.IoC.FactoryRequest.Container">
  1918. <summary>
  1919. Gets the value indicating the service container that made the service request.
  1920. </summary>
  1921. </member>
  1922. <member name="P:LinFu.IoC.FactoryRequest.ServiceName">
  1923. <summary>
  1924. Gets the value indicating the service name.
  1925. </summary>
  1926. <remarks>A null service name indicates that no service name was given during the request.</remarks>
  1927. </member>
  1928. <member name="P:LinFu.IoC.FactoryRequest.ServiceType">
  1929. <summary>
  1930. Gets the value indicating the requested service type.
  1931. </summary>
  1932. </member>
  1933. <member name="P:LinFu.IoC.FactoryRequest.Arguments">
  1934. <summary>
  1935. Gets the value indicating the additional arguments given in the factory request.
  1936. </summary>
  1937. </member>
  1938. <member name="T:LinFu.IoC.Factories.FunctorFactory">
  1939. <summary>
  1940. A class that converts a delegate into an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.
  1941. </summary>
  1942. </member>
  1943. <member name="M:LinFu.IoC.Factories.FunctorFactory.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,System.Object})">
  1944. <summary>
  1945. Initializes the class with the given <paramref name="factoryMethod" />.
  1946. </summary>
  1947. <param name="factoryMethod">The delegate that will be used to instantiate a type.</param>
  1948. </member>
  1949. <member name="M:LinFu.IoC.Factories.FunctorFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  1950. <summary>
  1951. Instantiates an object reference using the given factory method.
  1952. </summary>
  1953. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  1954. <returns>A non-null object reference that represents the service type.</returns>
  1955. </member>
  1956. <member name="T:LinFu.IoC.Configuration.AttributedMethodInjectionFilter">
  1957. <summary>
  1958. A default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" />
  1959. class that returns methods which have the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />
  1960. defined.
  1961. </summary>
  1962. </member>
  1963. <member name="M:LinFu.IoC.Configuration.AttributedMethodInjectionFilter.#ctor">
  1964. <summary>
  1965. Initializes the class with the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" /> as the
  1966. default injection attribute.
  1967. </summary>
  1968. </member>
  1969. <member name="M:LinFu.IoC.Configuration.AttributedMethodInjectionFilter.#ctor(System.Type)">
  1970. <summary>
  1971. Initializes the class and uses the <paramref name="attributeType" />
  1972. as the custom injection attribute.
  1973. </summary>
  1974. <param name="attributeType">
  1975. </param>
  1976. </member>
  1977. <member name="M:LinFu.IoC.Configuration.AttributedMethodInjectionFilter.GetMembers(System.Type,LinFu.IoC.Interfaces.IServiceContainer)">
  1978. <summary>
  1979. Returns the methods that have the custom attribute type defined.
  1980. </summary>
  1981. <param name="targetType">The target type that contains the target methods.</param>
  1982. <param name="container">The host container.</param>
  1983. <returns>The list of methods that have the custom attribute type defined.</returns>
  1984. </member>
  1985. <member name="T:LinFu.IoC.Configuration.Initializer">
  1986. <summary>
  1987. A class that initializes service instances that use
  1988. the <see cref="T:LinFu.IoC.Configuration.IInitialize" /> interface.
  1989. </summary>
  1990. </member>
  1991. <member name="M:LinFu.IoC.Configuration.Initializer.PostProcess(LinFu.IoC.Interfaces.IServiceRequestResult)">
  1992. <summary>
  1993. Initializes every service that implements
  1994. the <see cref="T:LinFu.IoC.Configuration.IInitialize" /> interface.
  1995. </summary>
  1996. <param name="result">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> instance that contains the service instance to be initialized.</param>
  1997. </member>
  1998. <member name="M:LinFu.IoC.Configuration.Initializer.Initialize(LinFu.IoC.Configuration.IInitialize,LinFu.IoC.Interfaces.IServiceContainer)">
  1999. <summary>
  2000. Initializes the <paramref name="target" /> with the given <paramref name="container" /> instance.
  2001. </summary>
  2002. <param name="target">The target to initialize.</param>
  2003. <param name="container">The container that will be introduced to the <see cref="T:LinFu.IoC.Configuration.IInitialize" /> instance.</param>
  2004. </member>
  2005. <member name="T:LinFu.IoC.Factories.OncePerRequestFactory`1">
  2006. <summary>
  2007. A factory that creates a unique service instance every time
  2008. the <see cref="M:LinFu.IoC.Factories.OncePerRequestFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)" /> method is called.
  2009. </summary>
  2010. <typeparam name="T">The type of service to instantiate.</typeparam>
  2011. </member>
  2012. <member name="M:LinFu.IoC.Factories.OncePerRequestFactory`1.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,`0})">
  2013. <summary>
  2014. Initializes the factory class using the <paramref name="createInstance" />
  2015. parameter as a factory delegate.
  2016. </summary>
  2017. <example>
  2018. The following is an example of initializing a <c>OncePerRequestFactory&lt;T&gt;</c>
  2019. type:
  2020. <code>
  2021. // Define the factory delegate
  2022. Func&lt;IFactoryRequest, ISomeService&gt; createService = container=&gt;new SomeServiceImplementation();
  2023. // Create the factory
  2024. var factory = new OncePerRequestFactory&lt;ISomeService&gt;(createService);
  2025. // Use the service instance
  2026. var service = factory.CreateInstance(null);
  2027. // ...
  2028. </code></example>
  2029. <param name="createInstance">The delegate that will be used to create each new service instance.</param>
  2030. </member>
  2031. <member name="M:LinFu.IoC.Factories.OncePerRequestFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  2032. <summary>
  2033. This method creates a new service instance every time
  2034. it is invoked.
  2035. </summary>
  2036. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  2037. <returns>A non-null object reference.</returns>
  2038. </member>
  2039. <member name="T:LinFu.IoC.FactoryAdapter`1">
  2040. <summary>
  2041. An adapter that converts strongly-typed IFactory&lt;T&gt;
  2042. instances into an equivalent IFactory instance.
  2043. </summary>
  2044. <typeparam name="T">The service type to create.</typeparam>
  2045. </member>
  2046. <member name="M:LinFu.IoC.FactoryAdapter`1.#ctor(LinFu.IoC.Interfaces.IFactory{`0})">
  2047. <summary>
  2048. Creates the factory adapter using the given
  2049. IFactory&lt;T&gt; instance.
  2050. </summary>
  2051. <param name="factory">The strongly-typed factory instance that
  2052. will be called every time the <see cref="M:LinFu.IoC.Interfaces.IFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)" /> method
  2053. is called. </param>
  2054. </member>
  2055. <member name="M:LinFu.IoC.FactoryAdapter`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  2056. <summary>
  2057. Overridden. Uses the strongly-typed factory
  2058. to create the service instance every time
  2059. the <see cref="M:LinFu.IoC.Interfaces.IFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)" /> method
  2060. is called.
  2061. </summary>
  2062. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  2063. <returns>An object instance that represents the service to be created. This cannot be <c>null</c>.</returns>
  2064. </member>
  2065. <member name="P:LinFu.IoC.FactoryAdapter`1.Factory">
  2066. <summary>
  2067. The factory that will create the service instance.
  2068. </summary>
  2069. </member>
  2070. <member name="T:LinFu.IoC.Configuration.Interfaces.IFactoryBuilder">
  2071. <summary>
  2072. Represents a class that can generate <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instances
  2073. from a given service type, implementing type, and lifecycle.
  2074. </summary>
  2075. </member>
  2076. <member name="M:LinFu.IoC.Configuration.Interfaces.IFactoryBuilder.CreateFactory(System.Type,System.Type,LinFu.IoC.Configuration.LifecycleType)">
  2077. <summary>
  2078. Generates a <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that can create the <paramref name="serviceType" />
  2079. using the <paramref name="implementingType" /> and <paramref name="lifecycle" /> model.
  2080. </summary>
  2081. <param name="serviceType">The service type that will be created by the factory.</param>
  2082. <param name="implementingType">The concrete type that will provide the implementation for the service type.</param>
  2083. <param name="lifecycle">The instancing behavior of the given service type.</param>
  2084. <returns>A valid <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</returns>
  2085. </member>
  2086. <member name="T:LinFu.IoC.Configuration.AttributedPropertyInjectionFilter">
  2087. <summary>
  2088. A default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" />
  2089. class that returns properties which have the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />
  2090. defined.
  2091. </summary>
  2092. </member>
  2093. <member name="M:LinFu.IoC.Configuration.AttributedPropertyInjectionFilter.#ctor">
  2094. <summary>
  2095. Initializes the class and uses the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />
  2096. to specify which properties should be automatically injected with
  2097. services from the container.
  2098. </summary>
  2099. </member>
  2100. <member name="M:LinFu.IoC.Configuration.AttributedPropertyInjectionFilter.#ctor(System.Type)">
  2101. <summary>
  2102. Initializes the class and uses the <paramref name="attributeType" />
  2103. to specify which properties should be automatically injected with
  2104. services from the container.
  2105. </summary>
  2106. <param name="attributeType">The custom property attribute that will be used to mark properties for automatic injection.</param>
  2107. </member>
  2108. <member name="M:LinFu.IoC.Configuration.AttributedPropertyInjectionFilter.Filter(LinFu.IoC.Interfaces.IServiceContainer,System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo})">
  2109. <summary>
  2110. Determines which properties should be injected from the <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  2111. </summary>
  2112. <param name="container">The source container that will supply the property values for the selected properties.</param>
  2113. <param name="properties">The list of properties to be filtered.</param>
  2114. <returns>A list of properties that should be injected.</returns>
  2115. </member>
  2116. <member name="M:LinFu.IoC.Configuration.AttributedPropertyInjectionFilter.GetMembers(System.Type,LinFu.IoC.Interfaces.IServiceContainer)">
  2117. <summary>
  2118. Determines which members should be selected from the <paramref name="targetType" />
  2119. using the <paramref name="container" /></summary>
  2120. <param name="targetType">The target type that will supply the list of members that will be filtered.</param>
  2121. <param name="container">The target container.</param>
  2122. <returns>A list of <see cref="T:System.Reflection.PropertyInfo" /> objects that pass the filter description.</returns>
  2123. </member>
  2124. <member name="T:LinFu.IoC.Configuration.ActionPostProcessor`1">
  2125. <summary>
  2126. Represents a postprocessor that will execute
  2127. the action associated with the given <see cref="T:LinFu.IoC.Configuration.ActionContext`1" />
  2128. instance every time the target container returns a
  2129. service with particular service name and service type.
  2130. </summary>
  2131. <typeparam name="TService">
  2132. </typeparam>
  2133. </member>
  2134. <member name="T:LinFu.IoC.FluentExtensions">
  2135. <summary>
  2136. A class that adds fluent syntax support to <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  2137. instances.
  2138. </summary>
  2139. </member>
  2140. <member name="M:LinFu.IoC.FluentExtensions.Inject``1(LinFu.IoC.Interfaces.IServiceContainer,System.String)">
  2141. <summary>
  2142. Injects a <typeparamref name="TService" /> type
  2143. into a <paramref name="container" /> using the
  2144. given <paramref name="serviceName" /></summary>
  2145. <typeparam name="TService">The type of service to inject.</typeparam>
  2146. <param name="container">The container that will hold the actual service service instance.</param>
  2147. <param name="serviceName">The name of the service to create.</param>
  2148. <returns>A non-null <see cref="T:LinFu.IoC.Configuration.IUsingLambda`1" /> instance.</returns>
  2149. </member>
  2150. <member name="M:LinFu.IoC.FluentExtensions.Inject``1(LinFu.IoC.Interfaces.IServiceContainer)">
  2151. <summary>
  2152. Injects a <typeparamref name="TService" /> type
  2153. into a <paramref name="container" />.
  2154. </summary>
  2155. <typeparam name="TService">The type of service to inject.</typeparam>
  2156. <param name="container">The container that will hold the actual service service instance.</param>
  2157. <returns>A non-null <see cref="T:LinFu.IoC.Configuration.IUsingLambda`1" /> instance.</returns>
  2158. </member>
  2159. <member name="M:LinFu.IoC.FluentExtensions.Initialize``1(LinFu.IoC.Interfaces.IServiceContainer)">
  2160. <summary>
  2161. Initializes services that match the given <typeparamref name="TService" /> type.
  2162. </summary>
  2163. <typeparam name="TService">The service type to initialize.</typeparam>
  2164. <param name="container">The container that will create the service itself.</param>
  2165. <returns>A <see cref="T:LinFu.IoC.Configuration.Interfaces.IPropertyInjectionLambda`1" /> instance. This cannot be <c>null</c>.</returns>
  2166. </member>
  2167. <member name="M:LinFu.IoC.FluentExtensions.Initialize``1(LinFu.IoC.Interfaces.IServiceContainer,System.String)">
  2168. <summary>
  2169. Initializes services that match the given <paramref name="serviceName" /> and <typeparamref name="TService" /> type.
  2170. </summary>
  2171. <typeparam name="TService">The service type to initialize.</typeparam>
  2172. <param name="container">The container that will create the service itself.</param>
  2173. <param name="serviceName">The name of the service to initialize.</param>
  2174. <returns>A <see cref="T:LinFu.IoC.Configuration.Interfaces.IPropertyInjectionLambda`1" /> instance. This cannot be <c>null</c>.</returns>
  2175. </member>
  2176. <member name="M:LinFu.IoC.FluentExtensions.CreateAdapter``1(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,``0})">
  2177. <summary>
  2178. Converts a <see cref="T:System.Func`4" />
  2179. lambda into an equivalent <see cref="T:System.Func`4" />
  2180. instance.
  2181. </summary>
  2182. <typeparam name="TService">The type of service to create.</typeparam>
  2183. <param name="func">The lambda function to be converted.</param>
  2184. <returns>The equivalent <see cref="T:System.Func`2" />
  2185. that delegates its calls back to the <paramref name="func" /> lambda function.</returns>
  2186. </member>
  2187. <member name="T:LinFu.IoC.ServiceContainer">
  2188. <summary>
  2189. Represents a service container with additional
  2190. extension points for customizing service instances
  2191. </summary>
  2192. </member>
  2193. <member name="M:LinFu.IoC.ServiceContainer.#ctor">
  2194. <summary>
  2195. Initializes the container with the default services.
  2196. </summary>
  2197. </member>
  2198. <member name="M:LinFu.IoC.ServiceContainer.AddFactory(System.String,System.Type,LinFu.IoC.Interfaces.IFactory)">
  2199. <summary>
  2200. Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it
  2201. with the given <paramref name="serviceType">service type</paramref> and
  2202. <paramref name="serviceName">service name</paramref>.
  2203. </summary>
  2204. <param name="serviceName">The name of the service to associate with the given <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</param>
  2205. <param name="serviceType">The type of service that the factory will be able to create.</param>
  2206. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will create the object instance.</param>
  2207. </member>
  2208. <member name="M:LinFu.IoC.ServiceContainer.AddFactory(System.Type,LinFu.IoC.Interfaces.IFactory)">
  2209. <summary>
  2210. Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it
  2211. with the given <paramref name="serviceType">service type</paramref>.
  2212. </summary>
  2213. <param name="serviceType">The service type to associate with the factory</param>
  2214. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be responsible for creating the service instance</param>
  2215. </member>
  2216. <member name="M:LinFu.IoC.ServiceContainer.Contains(System.Type)">
  2217. <summary>
  2218. Determines whether or not the given <paramref name="serviceType" />
  2219. can be instantiated by the container.
  2220. </summary>
  2221. <param name="serviceType">The type of service to instantiate.</param>
  2222. <returns>Returns <c>true</c> if the service exists; otherwise, it will return <c>false</c>.</returns>
  2223. </member>
  2224. <member name="M:LinFu.IoC.ServiceContainer.GetService(System.Type,System.Object[])">
  2225. <summary>
  2226. Overridden. Causes the container to instantiate the service with the given
  2227. <paramref name="serviceType">service type</paramref>. If the service type cannot be created, then an
  2228. exception will be thrown if the <see cref="P:LinFu.IoC.Interfaces.IContainer.SuppressErrors" /> property
  2229. is set to false. Otherwise, it will simply return null.
  2230. </summary>
  2231. <remarks>
  2232. This overload of the <c>GetService</c> method has been overridden
  2233. so that its results can be handled by the postprocessors.
  2234. </remarks>
  2235. <seealso cref="T:LinFu.IoC.Interfaces.IPostProcessor" />
  2236. <param name="serviceType">The service type to instantiate.</param>
  2237. <param name="additionalArguments">The additional arguments that will be used to instantiate the service type.</param>
  2238. <returns>If successful, it will return a service instance that is compatible with the given type;
  2239. otherwise, it will just return a null value.</returns>
  2240. </member>
  2241. <member name="M:LinFu.IoC.ServiceContainer.GetService(System.String,System.Type,System.Object[])">
  2242. <summary>
  2243. Causes the container to instantiate the service with the given
  2244. <paramref name="serviceType">service type</paramref>. If the service type cannot be created, then an
  2245. exception will be thrown if the <see cref="P:LinFu.IoC.Interfaces.IContainer.SuppressErrors" /> property
  2246. is set to false. Otherwise, it will simply return null.
  2247. </summary>
  2248. <param name="serviceName">The name of the service to instantiate.</param>
  2249. <param name="serviceType">The service type to instantiate.</param>
  2250. <param name="additionalArguments">The additional arguments that will be used to instantiate the service type.</param>
  2251. <returns>If successful, it will return a service instance that is compatible with the given type;
  2252. otherwise, it will just return a <c>null</c> value.</returns>
  2253. </member>
  2254. <member name="M:LinFu.IoC.ServiceContainer.Contains(System.String,System.Type)">
  2255. <summary>
  2256. Determines whether or not a service can be created using
  2257. the given <paramref name="serviceName">service name</paramref>
  2258. and <paramref name="serviceType">service type</paramref>.
  2259. </summary>
  2260. <param name="serviceName">The name of the service to associate with the given <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</param>
  2261. <param name="serviceType">The type of service that the factory will be able to create.</param>
  2262. <returns>Returns <c>true</c> if the service exists; otherwise, it will return <c>false</c>.</returns>
  2263. </member>
  2264. <member name="M:LinFu.IoC.ServiceContainer.Preprocess(System.String,System.Type,System.Object[],LinFu.IoC.Interfaces.IFactory)">
  2265. <summary>
  2266. A method that searches the container for <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" /> instances
  2267. and passes the service request to each one of those preprocessors.
  2268. </summary>
  2269. <param name="serviceName">The name of the service being requested. By default, this is usually blank.</param>
  2270. <param name="serviceType">The type of service being requested.</param>
  2271. <param name="additionalArguments">The list of additional arguments that will be used for the service request.</param>
  2272. <param name="proposedFactory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be used to create the service instance.</param>
  2273. <returns>A <see cref="T:LinFu.IoC.Interfaces.IServiceRequest" /> object that describes which factory should be used to handle the service request.</returns>
  2274. </member>
  2275. <member name="M:LinFu.IoC.ServiceContainer.PostProcess(System.String,System.Type,System.Object,System.Object[])">
  2276. <summary>
  2277. A method that searches the current container for
  2278. postprocessors and passes every request result made
  2279. to the list of <see cref="P:LinFu.IoC.Interfaces.IServiceContainer.PostProcessors" />.
  2280. </summary>
  2281. <param name="serviceName">The name of the service being requested. By default, this is usually blank.</param>
  2282. <param name="serviceType">The type of service being requested.</param>
  2283. <param name="instance">The original instance returned by container's service instantiation attempt.</param>
  2284. <param name="additionalArguments">The list of additional arguments that were used during the service request.</param>
  2285. <returns>A <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> representing the results returned as a result of the postprocessors.</returns>
  2286. </member>
  2287. <member name="P:LinFu.IoC.ServiceContainer.SuppressErrors">
  2288. <summary>
  2289. Gets or sets a <see cref="T:System.Boolean">System.Boolean</see> value
  2290. that determines whether or not the container should throw
  2291. a <see cref="T:LinFu.IoC.ServiceNotFoundException" /> if a requested service
  2292. cannot be found or created.
  2293. </summary>
  2294. </member>
  2295. <member name="P:LinFu.IoC.ServiceContainer.FactoryStorage">
  2296. <summary>
  2297. Gets the value indicating the <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> instance
  2298. that will be used to store each <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.
  2299. </summary>
  2300. </member>
  2301. <member name="P:LinFu.IoC.ServiceContainer.PostProcessors">
  2302. <summary>
  2303. The list of postprocessors that will handle every
  2304. service request result.
  2305. </summary>
  2306. </member>
  2307. <member name="P:LinFu.IoC.ServiceContainer.PreProcessors">
  2308. <summary>
  2309. The list of preprocessors that will handle
  2310. every service request before each actual service is created.
  2311. </summary>
  2312. </member>
  2313. <member name="P:LinFu.IoC.ServiceContainer.AvailableServices">
  2314. <summary>
  2315. The list of services currently available inside the container.
  2316. </summary>
  2317. </member>
  2318. <member name="T:LinFu.IoC.Interfaces.IServiceInstance">
  2319. <summary>
  2320. A type that represents a service instance returned by a container.
  2321. </summary>
  2322. </member>
  2323. <member name="P:LinFu.IoC.Interfaces.IServiceInstance.ServiceInfo">
  2324. <summary>
  2325. Gets the value indicating the <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> instance
  2326. that describes the service instance itself.
  2327. </summary>
  2328. </member>
  2329. <member name="P:LinFu.IoC.Interfaces.IServiceInstance.Object">
  2330. <summary>
  2331. Gets the value indicating the service instance itself.
  2332. </summary>
  2333. </member>
  2334. <member name="T:LinFu.IoC.Configuration.ServiceInstance">
  2335. <summary>
  2336. Represents the default implementation of the <see cref="T:LinFu.IoC.Interfaces.IServiceInstance" /> interface.
  2337. </summary>
  2338. </member>
  2339. <member name="T:LinFu.IoC.Configuration.Loaders.PostProcessorLoader">
  2340. <summary>
  2341. A class that automatically loads <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" />
  2342. instances and configures a loader to inject those postprocessors
  2343. into a container upon initialization.
  2344. </summary>
  2345. </member>
  2346. <member name="M:LinFu.IoC.Configuration.Loaders.PostProcessorLoader.CanLoad(System.Type)">
  2347. <summary>
  2348. Determines if the plugin loader can load the <paramref name="inputType" />.
  2349. </summary>
  2350. <remarks>The target type must implement the <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> interface before it can be loaded into memory.</remarks>
  2351. <param name="inputType">The target type that might contain the target instance.</param>
  2352. <returns>
  2353. <c>true</c> if the type can be loaded; otherwise, it returns <c>false</c>.</returns>
  2354. </member>
  2355. <member name="M:LinFu.IoC.Configuration.Loaders.PostProcessorLoader.Load(System.Type)">
  2356. <summary>
  2357. Loads a set of <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> instances
  2358. so that they can be loaded into a container upon initialization.
  2359. </summary>
  2360. <param name="inputType">The type that will be used to configure the target loader.</param>
  2361. <returns>A set of <see cref="T:System.Action`1" /> instances. This cannot be <c>null</c>.</returns>
  2362. </member>
  2363. <member name="T:LinFu.IoC.Configuration.Loader">
  2364. <summary>
  2365. Represents a class that can dynamically configure
  2366. <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instances at runtime.
  2367. </summary>
  2368. </member>
  2369. <member name="M:LinFu.IoC.Configuration.Loader.#ctor">
  2370. <summary>
  2371. Initializes the loader using the default values.
  2372. </summary>
  2373. </member>
  2374. <member name="M:LinFu.IoC.Configuration.Loader.AddService``2">
  2375. <summary>
  2376. Adds a service to the list of default services that will be implemented by the container.
  2377. </summary>
  2378. <typeparam name="TService">The service type.</typeparam>
  2379. <typeparam name="TImplementation">The concrete service implementation type.</typeparam>
  2380. </member>
  2381. <member name="T:LinFu.IoC.Configuration.InjectionContext`1">
  2382. <summary>
  2383. Represents the <c>internal</c> context class that will be used to
  2384. incrementally build enough information to inject a specific
  2385. <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> instance into a container.
  2386. </summary>
  2387. <typeparam name="TService">The service type to be created.</typeparam>
  2388. </member>
  2389. <member name="P:LinFu.IoC.Configuration.InjectionContext`1.FactoryMethod">
  2390. <summary>
  2391. The factory method that will be used to
  2392. instantiate the actual <typeparamref name="TService" />
  2393. instance.
  2394. </summary>
  2395. </member>
  2396. <member name="T:LinFu.IoC.ContainerExtensions">
  2397. <summary>
  2398. A class that adds generics support to existing
  2399. <see cref="T:LinFu.IoC.Interfaces.IContainer" /> and <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  2400. instances.
  2401. </summary>
  2402. </member>
  2403. <member name="M:LinFu.IoC.ContainerExtensions.LoadFrom(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.String)">
  2404. <summary>
  2405. Loads a set of <paramref name="searchPattern">files</paramref> from the <paramref name="directory">target directory</paramref>.
  2406. </summary>
  2407. <param name="container">The container to be loaded.</param>
  2408. <param name="directory">The target directory.</param>
  2409. <param name="searchPattern">The search pattern that describes the list of files to be loaded.</param>
  2410. </member>
  2411. <member name="M:LinFu.IoC.ContainerExtensions.AutoCreateFrom(System.Type,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  2412. <summary>
  2413. Automatically instantiates a <paramref name="concreteType" />
  2414. with the constructor with the most resolvable parameters from
  2415. the given <paramref name="container" /> instance.
  2416. </summary>
  2417. <param name="container">The service container that contains the arguments that will automatically be injected into the constructor.</param>
  2418. <param name="concreteType">The type to instantiate.</param>
  2419. <param name="additionalArguments">The list of arguments to pass to the target type.</param>
  2420. <returns>A valid, non-null object reference.</returns>
  2421. </member>
  2422. <member name="M:LinFu.IoC.ContainerExtensions.LoadFrom(LinFu.IoC.Interfaces.IServiceContainer,System.Reflection.Assembly)">
  2423. <summary>
  2424. Loads an existing <paramref name="assembly" /> into the container.
  2425. </summary>
  2426. <param name="container">The target container to be configured.</param>
  2427. <param name="assembly">The assembly to be loaded.</param>
  2428. </member>
  2429. <member name="M:LinFu.IoC.ContainerExtensions.SetCustomPropertyInjectionAttribute(LinFu.IoC.Interfaces.IServiceContainer,System.Type)">
  2430. <summary>
  2431. Sets the custom attribute type that will be used to mark properties
  2432. for automatic injection.
  2433. </summary>
  2434. <param name="container">The target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</param>
  2435. <param name="attributeType">The custom property attribute that will be used to mark properties for injection.</param>
  2436. </member>
  2437. <member name="M:LinFu.IoC.ContainerExtensions.SetCustomMethodInjectionAttribute(LinFu.IoC.Interfaces.IServiceContainer,System.Type)">
  2438. <summary>
  2439. Sets the custom attribute type that will be used to mark methods
  2440. for automatic injection.
  2441. </summary>
  2442. <param name="container">The target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</param>
  2443. <param name="attributeType">The custom property attribute that will be used to mark method for injection.</param>
  2444. </member>
  2445. <member name="M:LinFu.IoC.ContainerExtensions.SetCustomFieldInjectionAttribute(LinFu.IoC.Interfaces.IServiceContainer,System.Type)">
  2446. <summary>
  2447. Sets the custom attribute type that will be used to mark fields
  2448. for automatic injection.
  2449. </summary>
  2450. <param name="container">The target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</param>
  2451. <param name="attributeType">The custom property attribute that will be used to mark fields for injection.</param>
  2452. </member>
  2453. <member name="M:LinFu.IoC.ContainerExtensions.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  2454. <summary>
  2455. Initializes the target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  2456. with the default services.
  2457. </summary>
  2458. <param name="container">
  2459. </param>
  2460. </member>
  2461. <member name="M:LinFu.IoC.ContainerExtensions.AutoCreate(LinFu.IoC.Interfaces.IServiceContainer,System.Type,System.Object[])">
  2462. <summary>
  2463. Automatically instantiates a <paramref name="concreteType" />
  2464. with the constructor with the most resolvable parameters from
  2465. the given <paramref name="container" /> instance.
  2466. </summary>
  2467. <param name="container">The service container that contains the arguments that will automatically be injected into the constructor.</param>
  2468. <param name="concreteType">The type to instantiate.</param>
  2469. <param name="additionalArguments">The list of arguments to pass to the target type.</param>
  2470. <returns>A valid, non-null object reference.</returns>
  2471. </member>
  2472. <member name="M:LinFu.IoC.ContainerExtensions.AddDefaultServices(LinFu.IoC.Interfaces.IServiceContainer)">
  2473. <summary>
  2474. Initializes the container with the minimum required services.
  2475. </summary>
  2476. <param name="container">The target service container.</param>
  2477. </member>
  2478. <member name="M:LinFu.IoC.ContainerExtensions.GetMissingParameterTypes(System.Reflection.ConstructorInfo,System.Collections.Generic.ICollection{System.Object})">
  2479. <summary>
  2480. Determines which parameter types need to be supplied to invoke a particular
  2481. <paramref name="constructor" /> instance.
  2482. </summary>
  2483. <param name="constructor">The target constructor.</param>
  2484. <param name="additionalArguments">The additional arguments that will be used to invoke the constructor.</param>
  2485. <returns>The list of parameter types that are still missing parameter values.</returns>
  2486. </member>
  2487. <member name="M:LinFu.IoC.ContainerExtensions.GetService``1(LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  2488. <summary>
  2489. Creates an instance of <typeparamref name="T" />
  2490. using the given <paramref name="container" />.
  2491. </summary>
  2492. <typeparam name="T">The service type to create.</typeparam>
  2493. <param name="container">The container that will instantiate the service.</param>
  2494. <param name="additionalArguments">The additional arguments that will be used to construct the service type.</param>
  2495. <returns>If successful, it will return a service instance that is compatible with the given type;
  2496. otherwise, it will just return a <c>null</c> value.</returns>
  2497. </member>
  2498. <member name="M:LinFu.IoC.ContainerExtensions.GetService(LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Interfaces.IServiceInfo,System.Object[])">
  2499. <summary>
  2500. Instantiates a service that matches the <paramref name="info">service description</paramref>.
  2501. </summary>
  2502. <param name="container">The container that will instantiate the service.</param>
  2503. <param name="info">The description of the requested service.</param>
  2504. <param name="additionalArguments">The additional arguments that will be used to construct the service type.</param>
  2505. <returns>If successful, it will return a service instance that is compatible with the given type;
  2506. otherwise, it will just return a <c>null</c> value.</returns>
  2507. </member>
  2508. <member name="M:LinFu.IoC.ContainerExtensions.GetService``1(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Object[])">
  2509. <summary>
  2510. Creates an instance of <typeparamref name="T" />
  2511. using the given <paramref name="container" />.
  2512. </summary>
  2513. <typeparam name="T">The service type to create.</typeparam>
  2514. <param name="container">The container that will instantiate the service.</param>
  2515. <param name="serviceName">The name of the service to instantiate.</param>
  2516. <param name="additionalArguments">The additional arguments that will be used to construct the service type.</param>
  2517. <returns>If successful, it will return a service instance that is compatible with the given type;
  2518. otherwise, it will just return a <c>null</c> value.</returns>
  2519. </member>
  2520. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.Type,System.Type)">
  2521. <summary>
  2522. Configures the container to instantiate the <paramref name="implementingType" />
  2523. on every request for the <paramref name="serviceType" />.
  2524. </summary>
  2525. <param name="container">The container that will hold the service type.</param>
  2526. <param name="serviceType">The type of service being implemented.</param>
  2527. <param name="implementingType">The concrete type that will implement the service type.</param>
  2528. </member>
  2529. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.Type,LinFu.IoC.Configuration.LifecycleType)">
  2530. <summary>
  2531. Registers the <paramref name="serviceTypeToRegisterAsSelf">service type</paramref>
  2532. as both the implementing type and the service type using the given <paramref name="lifecycle" />.
  2533. </summary>
  2534. <param name="container">The container that will hold the service type.</param>
  2535. <param name="serviceTypeToRegisterAsSelf">The service type that will be registered as both the service type and the implementing type.</param>
  2536. <param name="lifecycle">The service <see cref="T:LinFu.IoC.Configuration.LifecycleType" />.</param>
  2537. </member>
  2538. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.Type)">
  2539. <summary>
  2540. Registers the <paramref name="serviceTypeToRegisterAsSelf">service type</paramref>
  2541. as both the implementing type and the service type.
  2542. </summary>
  2543. <param name="container">The container that will hold the service type.</param>
  2544. <param name="serviceTypeToRegisterAsSelf">The service type that will be registered as both the service type and the implementing type.</param>
  2545. </member>
  2546. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.Type,System.Type,LinFu.IoC.Configuration.LifecycleType)">
  2547. <summary>
  2548. Configures the container to instantiate the <paramref name="implementingType" />
  2549. on every request for the <paramref name="serviceType" />.
  2550. </summary>
  2551. <param name="container">The container that will hold the service type.</param>
  2552. <param name="serviceType">The type of service being implemented.</param>
  2553. <param name="implementingType">The concrete type that will implement the service type.</param>
  2554. <param name="lifecycle">The service <see cref="T:LinFu.IoC.Configuration.LifecycleType" />.</param>
  2555. </member>
  2556. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Type,System.Object)">
  2557. <summary>
  2558. Registers an existing service instance with the container using the given
  2559. <paramref name="serviceName" /> and <paramref name="serviceType" />.
  2560. </summary>
  2561. <param name="container">The target container instance.</param>
  2562. <param name="serviceName">The service name that will be associated with the service instance.</param>
  2563. <param name="serviceType">The target service type.</param>
  2564. <param name="serviceInstance">The actual service instance that will represent the service type.</param>
  2565. </member>
  2566. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.Type,System.Object)">
  2567. <summary>
  2568. Registers an existing service instance with the container using the given
  2569. <paramref name="serviceType" />.
  2570. </summary>
  2571. <param name="container">The target container instance.</param>
  2572. <param name="serviceType">The target service type.</param>
  2573. <param name="serviceInstance">The actual service instance that will represent the service type.</param>
  2574. </member>
  2575. <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Type,System.Type,LinFu.IoC.Configuration.LifecycleType)">
  2576. <summary>
  2577. Configures the container to instantiate the <paramref name="implementingType" />
  2578. on every request for the <paramref name="serviceType" />.
  2579. </summary>
  2580. <param name="serviceName">The name of the service to associate with the given <paramref name="serviceType" />.</param>
  2581. <param name="container">The container that will hold the service type.</param>
  2582. <param name="serviceType">The type of service being implemented.</param>
  2583. <param name="implementingType">The concrete type that will implement the service type.</param>
  2584. <param name="lifecycle">The service <see cref="T:LinFu.IoC.Configuration.LifecycleType" />.</param>
  2585. </member>
  2586. <member name="M:LinFu.IoC.ContainerExtensions.AddFactory``1(LinFu.IoC.Interfaces.IServiceContainer,System.String,LinFu.IoC.Interfaces.IFactory{``0})">
  2587. <summary>
  2588. Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it
  2589. with the given <typeparamref name="T">service type</typeparamref> and
  2590. <paramref name="serviceName">service name</paramref>.
  2591. </summary>
  2592. <param name="serviceName">The name of the service to associate with the given <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</param>
  2593. <param name="container">The container that will hold the factory instance.</param>
  2594. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> instance that will create the object instance.</param>
  2595. </member>
  2596. <member name="M:LinFu.IoC.ContainerExtensions.AddFactory``1(LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Interfaces.IFactory{``0})">
  2597. <summary>
  2598. Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it
  2599. with the given <typeparamref name="T">service type</typeparamref>.
  2600. </summary>
  2601. <param name="container">The container that will hold the factory instance.</param>
  2602. <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> instance that will create the object instance.</param>
  2603. </member>
  2604. <member name="M:LinFu.IoC.ContainerExtensions.AddDefaultFactory(LinFu.IoC.Interfaces.IServiceContainer,System.Type,LinFu.IoC.Interfaces.IFactory)">
  2605. <summary>
  2606. Registers the <paramref name="factory" /> as the default factory instance
  2607. that will be used if no other factory can be found for the current <paramref name="serviceType" />.
  2608. </summary>
  2609. <param name="container">The host container.</param>
  2610. <param name="serviceType">The service type that will be created by the default factory.</param>
  2611. <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>
  2612. </member>
  2613. <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)">
  2614. <summary>
  2615. Adds a service to the container by using the given <paramref name="factoryMethod" /> and <paramref name="lifecycleType" />
  2616. to instantiate the service instance.
  2617. </summary>
  2618. <typeparam name="T">The service type itself.</typeparam>
  2619. <param name="serviceName">The name that will be associated with the service instance.</param>
  2620. <param name="container">The host container that will instantiate the service type.</param>
  2621. <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
  2622. <param name="lifecycleType">The service <see cref="T:LinFu.IoC.Configuration.LifecycleType" /> type.</param>
  2623. </member>
  2624. <member name="M:LinFu.IoC.ContainerExtensions.AddService``1(LinFu.IoC.Interfaces.IServiceContainer,System.Func{LinFu.IoC.Interfaces.IFactoryRequest,``0},LinFu.IoC.Configuration.LifecycleType)">
  2625. <summary>
  2626. Adds a service to the container by using the given <paramref name="factoryMethod" /> and <paramref name="lifecycleType" />
  2627. to instantiate the service instance.
  2628. </summary>
  2629. <typeparam name="T">The service type itself.</typeparam>
  2630. <param name="container">The host container that will instantiate the service type.</param>
  2631. <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
  2632. <param name="lifecycleType">The service <see cref="T:LinFu.IoC.Configuration.LifecycleType" /> type.</param>
  2633. </member>
  2634. <member name="M:LinFu.IoC.ContainerExtensions.AddService``1(LinFu.IoC.Interfaces.IServiceContainer,``0)">
  2635. <summary>
  2636. Adds an existing service instance to the container.
  2637. </summary>
  2638. <typeparam name="T">The type of service being added.</typeparam>
  2639. <param name="container">The container that will hold the service instance.</param>
  2640. <param name="instance">The service instance itself.</param>
  2641. </member>
  2642. <member name="M:LinFu.IoC.ContainerExtensions.AddService``1(LinFu.IoC.Interfaces.IServiceContainer,System.String,``0)">
  2643. <summary>
  2644. Adds an existing service instance to the container and
  2645. associates it with the <paramref name="serviceName" />.
  2646. </summary>
  2647. <typeparam name="T">The type of service being added.</typeparam>
  2648. <param name="container">The container that will hold the service instance.</param>
  2649. <param name="serviceName">The name that will be associated with the service instance.</param>
  2650. <param name="instance">The service instance itself.</param>
  2651. </member>
  2652. <member name="M:LinFu.IoC.ContainerExtensions.GetServices``1(LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  2653. <summary>
  2654. Returns all the services in the container that match the given
  2655. <typeparamref name="T">service type</typeparamref>.
  2656. </summary>
  2657. <typeparam name="T">The type of service to return.</typeparam>
  2658. <param name="container">The target container.</param>
  2659. <param name="additionalArguments">The additional arguments that will be used to construct the service type.</param>
  2660. <returns>The list of services that implement the given service type.</returns>
  2661. </member>
  2662. <member name="M:LinFu.IoC.ContainerExtensions.GetServices(LinFu.IoC.Interfaces.IServiceContainer,System.Func{LinFu.IoC.Interfaces.IServiceInfo,System.Boolean},System.Object[])">
  2663. <summary>
  2664. Returns a list of services that match the given <paramref name="condition" />.
  2665. </summary>
  2666. <param name="condition">The predicate that determines which services should be returned.</param>
  2667. <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>
  2668. <param name="container">the target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</param>
  2669. <param name="additionalArguments">The additional arguments that will be used to construct the service type.</param>
  2670. </member>
  2671. <member name="M:LinFu.IoC.ContainerExtensions.Contains(LinFu.IoC.Interfaces.IServiceContainer,System.Func{LinFu.IoC.Interfaces.IServiceInfo,System.Boolean})">
  2672. <summary>
  2673. Determines whether or not a container contains services that match
  2674. the given <paramref name="condition" />.
  2675. </summary>
  2676. <param name="container">The target container.</param>
  2677. <param name="condition">The predicate that will be used to determine whether or not the requested services exist.</param>
  2678. <returns>Returns <c>true</c> if the requested services exist; otherwise, it will return <c>false</c>.</returns>
  2679. </member>
  2680. <member name="T:LinFu.IoC.Configuration.PreprocessorAttribute">
  2681. <summary>
  2682. Marks a target type as an <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" />
  2683. instance that can be injected into a
  2684. <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  2685. </summary>
  2686. </member>
  2687. <member name="T:LinFu.IoC.Configuration.InjectAttribute">
  2688. <summary>
  2689. The attribute used to mark a property for autoinjection.
  2690. </summary>
  2691. </member>
  2692. <member name="T:LinFu.IoC.Interceptors.InterceptorAttributeLoader">
  2693. <summary>
  2694. The class responsible for loading interceptors marked with the
  2695. <see cref="T:LinFu.IoC.Interceptors.InterceptsAttribute" /> class.
  2696. </summary>
  2697. </member>
  2698. <member name="M:LinFu.IoC.Interceptors.InterceptorAttributeLoader.#ctor(LinFu.Reflection.ILoader{LinFu.IoC.Interfaces.IServiceContainer})">
  2699. <summary>
  2700. Initializes the class with the given <paramref name="loaderHost" />.
  2701. </summary>
  2702. <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>
  2703. </member>
  2704. <member name="M:LinFu.IoC.Interceptors.InterceptorAttributeLoader.Load(System.Type)">
  2705. <summary>
  2706. Loads an <see cref="T:LinFu.AOP.Interfaces.IInterceptor" /> derived class into a particular <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance
  2707. so that the current interceptor type can intercept calls made to services created from the given
  2708. target container.
  2709. </summary>
  2710. <param name="input">The interceptor type.</param>
  2711. <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>
  2712. </member>
  2713. <member name="M:LinFu.IoC.Interceptors.InterceptorAttributeLoader.CreateProxyFrom(LinFu.IoC.Interfaces.IServiceRequestResult,System.Func{LinFu.IoC.Interfaces.IServiceRequestResult,LinFu.AOP.Interfaces.IInterceptor})">
  2714. <summary>
  2715. Generates a proxy instance from an existing <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> instance.
  2716. </summary>
  2717. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> instance that describes the proxy type that must be generated.</param>
  2718. <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>
  2719. <returns>A service proxy.</returns>
  2720. </member>
  2721. <member name="M:LinFu.IoC.Interceptors.InterceptorAttributeLoader.CanLoad(System.Type)">
  2722. <summary>
  2723. Determines whether or not a target type is an interceptor.
  2724. </summary>
  2725. <param name="inputType">The target type currently being tested.</param>
  2726. <returns>Returns <c>true</c> if the <paramref name="inputType" /> is an interceptor; otherwise, it will return <c>false</c>.</returns>
  2727. </member>
  2728. <member name="T:LinFu.IoC.Configuration.MethodFinder`1">
  2729. <summary>
  2730. Represents a class that determines which method best matches the
  2731. services currently in the target container.
  2732. </summary>
  2733. <typeparam name="T">The method type to search.</typeparam>
  2734. </member>
  2735. <member name="M:LinFu.IoC.Configuration.MethodFinder`1.GetBestMatch(System.Collections.Generic.IEnumerable{`0},System.Collections.Generic.IEnumerable{System.Object})">
  2736. <summary>
  2737. Determines which method best matches the
  2738. services currently in the target container.
  2739. </summary>
  2740. <param name="items">The list of methods to search.</param>
  2741. <param name="additionalArguments">The additional arguments that will be passed to the method.</param>
  2742. <returns>Returns the method with the most resolvable parameters from the target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</returns>
  2743. </member>
  2744. <member name="M:LinFu.IoC.Configuration.MethodFinder`1.Rank(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{`0}},System.Collections.Generic.IList{System.Type})">
  2745. <summary>
  2746. Adds additional <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" /> to the fuzzy search list.
  2747. </summary>
  2748. <param name="methods">The list of methods to rank.</param>
  2749. <param name="argumentTypes">The list of <see cref="T:System.Type" /> objects that describe the arguments passed to the method.</param>
  2750. </member>
  2751. <member name="M:LinFu.IoC.Configuration.MethodFinder`1.CheckArguments(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{`0}},System.Collections.Generic.IEnumerable{System.Type})">
  2752. <summary>
  2753. Attempts to match the <paramref name="additionalArgumentTypes" /> against the <paramref name="fuzzyList">list of methods</paramref>.
  2754. </summary>
  2755. <param name="fuzzyList">The list of items currently being compared.</param>
  2756. <param name="additionalArgumentTypes">The set of <see cref="T:System.Type" /> instances that describe each supplied argument type.</param>
  2757. </member>
  2758. <member name="T:LinFu.IoC.Configuration.Resolvers.MethodFinderFromContainer`1">
  2759. <summary>
  2760. A <see cref="T:LinFu.IoC.Configuration.MethodFinder`1" /> type that uses a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  2761. instance to find a method with the most resolvable parameters.
  2762. </summary>
  2763. <typeparam name="TMethod">The method type that will be searched.</typeparam>
  2764. </member>
  2765. <member name="M:LinFu.IoC.Configuration.Resolvers.MethodFinderFromContainer`1.CheckParameters(LinFu.Finders.Interfaces.IFuzzyItem{`0},LinFu.IoC.Interfaces.IServiceContainer,System.Int32)">
  2766. <summary>
  2767. Examines a <see cref="T:System.Reflection.ConstructorInfo" /> instance
  2768. and determines if it can be instantiated with the services embedded in
  2769. the target <paramref name="container" />.
  2770. </summary>
  2771. <param name="fuzzyItem">The <see cref="T:LinFu.Finders.FuzzyItem`1" /> that represents the constructor to be examined.</param>
  2772. <param name="container">The container that contains the services that will be used to instantiate the target type.</param>
  2773. <param name="maxIndex">Indicates the index that
  2774. marks the point where the user-supplied arguments begin.</param>
  2775. </member>
  2776. <member name="M:LinFu.IoC.Configuration.Resolvers.MethodFinderFromContainer`1.Rank(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{`0}},System.Collections.Generic.IList{System.Type})">
  2777. <summary>
  2778. Adds additional <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" /> to the fuzzy search list.
  2779. </summary>
  2780. <param name="methods">The list of methods to rank.</param>
  2781. <param name="argumentTypes">The list of <see cref="T:System.Type" /> objects that describe the arguments passed to the method.</param>
  2782. </member>
  2783. <member name="M:LinFu.IoC.Configuration.Resolvers.MethodFinderFromContainer`1.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  2784. <summary>
  2785. Initializes the target with the host container.
  2786. </summary>
  2787. <param name="container">The host <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</param>
  2788. </member>
  2789. <member name="P:LinFu.IoC.Configuration.Resolvers.MethodFinderFromContainer`1.Container">
  2790. <summary>
  2791. Gets the value indicating the service container that will be used in the
  2792. method search.
  2793. </summary>
  2794. </member>
  2795. <member name="T:LinFu.IoC.Configuration.FactoryBuilder">
  2796. <summary>
  2797. The default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IFactoryBuilder" /> class.
  2798. </summary>
  2799. </member>
  2800. <member name="M:LinFu.IoC.Configuration.FactoryBuilder.CreateFactory(System.Type,System.Type,LinFu.IoC.Configuration.LifecycleType)">
  2801. <summary>
  2802. Creates a factory instance that can create instaces of the given
  2803. <paramref name="serviceType" /> using the <paramref name="implementingType" />
  2804. as the implementation.
  2805. </summary>
  2806. <param name="serviceType">The service being implemented.</param>
  2807. <param name="implementingType">The actual type that will implement the service.</param>
  2808. <param name="lifecycle">The <see cref="T:LinFu.IoC.Configuration.LifecycleType" /> that determines the lifetime of each instance being created.</param>
  2809. <returns>A valid <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</returns>
  2810. </member>
  2811. <member name="M:LinFu.IoC.Configuration.FactoryBuilder.CreateFactory(System.Type,System.Type,System.Type)">
  2812. <summary>
  2813. Creates a factory instance that can create instaces of the given
  2814. <paramref name="serviceType" /> using the <paramref name="actualType" />
  2815. as the implementation.
  2816. </summary>
  2817. <param name="serviceType">The service being implemented.</param>
  2818. <param name="actualType">The actual type that will implement the service.</param>
  2819. <param name="factoryType">The factory type that will instantiate the target service.</param>
  2820. <returns>A valid <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</returns>
  2821. </member>
  2822. <member name="M:LinFu.IoC.Configuration.FactoryBuilder.GetActualType(System.Type,System.Type)">
  2823. <summary>
  2824. Determines the implementing concrete type from the given <paramref name="serviceType" />.
  2825. </summary>
  2826. <param name="serviceType">The service type.</param>
  2827. <param name="implementingType">The concrete class that will implement the service type.</param>
  2828. <returns>The actual implementing type.</returns>
  2829. </member>
  2830. <member name="M:LinFu.IoC.Configuration.FactoryBuilder.CreateFactoryMethod(System.Type,System.Type)">
  2831. <summary>
  2832. A <c>private</c> method that creates the factory method delegate
  2833. for use with a particular factory class.
  2834. </summary>
  2835. <seealso cref="T:LinFu.IoC.Factories.SingletonFactory`1" />
  2836. <seealso cref="T:LinFu.IoC.Factories.OncePerRequestFactory`1" />
  2837. <seealso cref="T:LinFu.IoC.Factories.OncePerThreadFactory`1" />
  2838. <param name="serviceType">The service type being instantiated.</param>
  2839. <param name="implementingType">The type that will provide the implementation for the actual service.</param>
  2840. <returns>A factory method delegate that can create the given service.</returns>
  2841. </member>
  2842. <member name="M:LinFu.IoC.Configuration.FactoryBuilder.CreateFactoryMethodInternal``2">
  2843. <summary>
  2844. A method that generates the actual lambda function that creates
  2845. the new service instance.
  2846. </summary>
  2847. <typeparam name="TService">The service type being instantiated.</typeparam>
  2848. <typeparam name="TImplementation">The type that will provide the implementation for the actual service.</typeparam>
  2849. <returns>A strongly-typed factory method delegate that can create the given service.</returns>
  2850. </member>
  2851. <member name="T:LinFu.IoC.Configuration.TypeCounter">
  2852. <summary>
  2853. Counts the number of occurrences of a specific type.
  2854. </summary>
  2855. </member>
  2856. <member name="M:LinFu.IoC.Configuration.TypeCounter.Increment(System.Type)">
  2857. <summary>
  2858. Increments the count for the current <paramref name="type" />.
  2859. </summary>
  2860. <param name="type">The type being counted.</param>
  2861. </member>
  2862. <member name="M:LinFu.IoC.Configuration.TypeCounter.CountOf(System.Type)">
  2863. <summary>
  2864. Returns the number of occurrences of a specific <paramref name="type" />.
  2865. </summary>
  2866. <param name="type">The type being counted.</param>
  2867. <returns>The number of occurrences for the given type.</returns>
  2868. </member>
  2869. <member name="M:LinFu.IoC.Configuration.TypeCounter.Decrement(System.Type)">
  2870. <summary>
  2871. Decrements the count for the current <paramref name="type" />.
  2872. </summary>
  2873. <param name="type">The type being counted.</param>
  2874. </member>
  2875. <member name="M:LinFu.IoC.Configuration.TypeCounter.Reset">
  2876. <summary>
  2877. Resets the counts back to zero.
  2878. </summary>
  2879. </member>
  2880. <member name="P:LinFu.IoC.Configuration.TypeCounter.AvailableTypes">
  2881. <summary>
  2882. Gets the value indicating the types that are
  2883. currently being counted.
  2884. </summary>
  2885. </member>
  2886. <member name="T:LinFu.IoC.Configuration.AutoMethodInjector">
  2887. <summary>
  2888. A class that automatically invokes methods using arguments
  2889. derived from existing instances from within a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  2890. instance.
  2891. </summary>
  2892. </member>
  2893. <member name="M:LinFu.IoC.Configuration.AutoMethodInjector.Inject(System.Object,System.Reflection.MethodInfo,LinFu.IoC.Configuration.Interfaces.IArgumentResolver,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  2894. <summary>
  2895. Injects services from the <paramref name="container" /> into the target <see cref="T:System.Reflection.MethodInfo" /> instance.
  2896. </summary>
  2897. <param name="target">The target object.</param>
  2898. <param name="method">The <see cref="T:System.Reflection.MethodInfo" /> instance that will store the service instance.</param>
  2899. <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>
  2900. <param name="additionalArguments">The additional arguments that were passed to the <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> during the instantiation process.</param>
  2901. <param name="container">The container that will provide the service instances.</param>
  2902. </member>
  2903. <member name="T:LinFu.IoC.Interceptors.AroundInvokeAdapter">
  2904. <summary>
  2905. Adapts a <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance into an <see cref="T:LinFu.AOP.Interfaces.IInterceptor" />.
  2906. </summary>
  2907. </member>
  2908. <member name="M:LinFu.IoC.Interceptors.AroundInvokeAdapter.#ctor(System.Func{System.Object},LinFu.IoC.Configuration.Interfaces.IMethodInvoke{System.Reflection.MethodInfo},LinFu.AOP.Interfaces.IAroundInvoke)">
  2909. <summary>
  2910. Initializes the <see cref="T:LinFu.IoC.Interceptors.AroundInvokeAdapter" /> class.
  2911. </summary>
  2912. <param name="getTarget">The functor responsible for obtaining the target instance.</param>
  2913. <param name="methodInvoke">The method invoker.</param>
  2914. <param name="aroundInvoke">The target <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.</param>
  2915. </member>
  2916. <member name="M:LinFu.IoC.Interceptors.AroundInvokeAdapter.Intercept(LinFu.AOP.Interfaces.IInvocationInfo)">
  2917. <summary>
  2918. Converts the call to <see cref="M:LinFu.AOP.Interfaces.IInterceptor.Intercept(LinFu.AOP.Interfaces.IInvocationInfo)" /> to an
  2919. <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> method call.
  2920. </summary>
  2921. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> that describes the context of the method call.</param>
  2922. <returns>The return value from the target method.</returns>
  2923. </member>
  2924. <member name="M:LinFu.IoC.Interceptors.AroundInvokeAdapter.GetTarget(LinFu.AOP.Interfaces.IInvocationInfo)">
  2925. <summary>
  2926. Gets the target object instance.
  2927. </summary>
  2928. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the current execution context.</param>
  2929. </member>
  2930. <member name="T:LinFu.IoC.Configuration.ConstructorResolver">
  2931. <summary>
  2932. Represents the default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberResolver`1" /> class.
  2933. </summary>
  2934. </member>
  2935. <member name="M:LinFu.IoC.Configuration.ConstructorResolver.#ctor">
  2936. <summary>
  2937. Initializes the class with the default values.
  2938. </summary>
  2939. </member>
  2940. <member name="M:LinFu.IoC.Configuration.ConstructorResolver.#ctor(System.Func{LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Configuration.Interfaces.IMethodFinder{System.Reflection.ConstructorInfo}})">
  2941. <summary>
  2942. Initializes the class using the custom method finder.
  2943. </summary>
  2944. <param name="getFinder">The functor that will be used to instantiate the method finder.</param>
  2945. </member>
  2946. <member name="M:LinFu.IoC.Configuration.ConstructorResolver.GetMembers(System.Type)">
  2947. <summary>
  2948. Returns the constructors that belong to the <paramref name="concreteType" />.
  2949. </summary>
  2950. <param name="concreteType">The type that contains the list of constructors.</param>
  2951. <returns>A list of constructors that belong to the <paramref name="concreteType" />.</returns>
  2952. </member>
  2953. <member name="M:LinFu.IoC.Configuration.ConstructorResolver.GetDefaultResult(System.Type)">
  2954. <summary>
  2955. Returns the parameterless constructor in case the search fails.
  2956. </summary>
  2957. <param name="concreteType">The target type that contains the default constructor.</param>
  2958. <returns>The default constructor.</returns>
  2959. </member>
  2960. <member name="T:LinFu.IoC.Configuration.GenerateFactory`1">
  2961. <summary>
  2962. Represents a fluent class that allows
  2963. users to create specific types of factories.
  2964. </summary>
  2965. <typeparam name="TService">The type of service being created.</typeparam>
  2966. </member>
  2967. <member name="M:LinFu.IoC.Configuration.GenerateFactory`1.#ctor(LinFu.IoC.Configuration.InjectionContext{`0})">
  2968. <summary>
  2969. Instantiates the class using the given
  2970. <paramref name="context" />.
  2971. </summary>
  2972. <param name="context">The <see cref="T:LinFu.IoC.Configuration.InjectionContext`1" /> instance
  2973. which will contain the information necessary to build a fluent command.</param>
  2974. </member>
  2975. <member name="M:LinFu.IoC.Configuration.GenerateFactory`1.AsSingleton">
  2976. <summary>
  2977. Creates a singleton factory.
  2978. </summary>
  2979. <seealso cref="T:LinFu.IoC.Factories.SingletonFactory`1" />
  2980. </member>
  2981. <member name="M:LinFu.IoC.Configuration.GenerateFactory`1.OncePerThread">
  2982. <summary>
  2983. Creates a once per thread factory.
  2984. </summary>
  2985. <seealso cref="T:LinFu.IoC.Factories.OncePerThreadFactory`1" />
  2986. </member>
  2987. <member name="M:LinFu.IoC.Configuration.GenerateFactory`1.OncePerRequest">
  2988. <summary>
  2989. Creates a once per request factory.
  2990. </summary>
  2991. <seealso cref="T:LinFu.IoC.Factories.OncePerRequestFactory`1" />
  2992. </member>
  2993. <member name="M:LinFu.IoC.Configuration.GenerateFactory`1.AddFactory(System.Func{System.Func{LinFu.IoC.Interfaces.IFactoryRequest,`0},LinFu.IoC.Interfaces.IFactory{`0}})">
  2994. <summary>
  2995. Adds a factory to the container by using the
  2996. <paramref name="createFactory" /> delegate to
  2997. create the actual <see cref="T:LinFu.IoC.Interfaces.IFactory`1" />
  2998. instance.
  2999. </summary>
  3000. <param name="createFactory">The delegate that will create the actual factory instance.</param>
  3001. </member>
  3002. <member name="T:LinFu.IoC.ServiceInfo">
  3003. <summary>
  3004. Represents the default implementation of the ServiceInfo class.
  3005. </summary>
  3006. </member>
  3007. <member name="M:LinFu.IoC.ServiceInfo.#ctor(System.String,System.Type)">
  3008. <summary>
  3009. Initializes the class with the given <paramref name="serviceName" />
  3010. and <paramref name="serviceType" />.
  3011. </summary>
  3012. <param name="serviceName">The name of the service.</param>
  3013. <param name="serviceType">The type of service that can be created.</param>
  3014. </member>
  3015. <member name="P:LinFu.IoC.ServiceInfo.ServiceName">
  3016. <summary>
  3017. The name of the service being created. By default, this property is blank.
  3018. </summary>
  3019. </member>
  3020. <member name="P:LinFu.IoC.ServiceInfo.ServiceType">
  3021. <summary>
  3022. The type of service being requested.
  3023. </summary>
  3024. </member>
  3025. <member name="T:LinFu.IoC.Interfaces.IServiceRequest">
  3026. <summary>
  3027. Represents a class that describes the context of a service request made to a service container.
  3028. </summary>
  3029. </member>
  3030. <member name="P:LinFu.IoC.Interfaces.IServiceRequest.Container">
  3031. <summary>
  3032. The container that will handle the service request.
  3033. </summary>
  3034. </member>
  3035. <member name="P:LinFu.IoC.Interfaces.IServiceRequest.ActualArguments">
  3036. <summary>
  3037. Gets or sets the value indicating the actual arguments that
  3038. will be used for the service request.
  3039. </summary>
  3040. </member>
  3041. <member name="P:LinFu.IoC.Interfaces.IServiceRequest.ProposedArguments">
  3042. <summary>
  3043. Gets the value indicating the original arguments that
  3044. were given during the service request.
  3045. </summary>
  3046. </member>
  3047. <member name="P:LinFu.IoC.Interfaces.IServiceRequest.ProposedFactory">
  3048. <summary>
  3049. Gets the value indicating the original <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance
  3050. that will be used to handle the service request.
  3051. </summary>
  3052. </member>
  3053. <member name="P:LinFu.IoC.Interfaces.IServiceRequest.ActualFactory">
  3054. <summary>
  3055. Gets or sets the value indicating the actual <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance
  3056. that will be used to handle the service request.
  3057. </summary>
  3058. </member>
  3059. <member name="T:LinFu.IoC.Interceptors.InvocationInfoInterceptor">
  3060. <summary>
  3061. An interceptor that intercepts <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instances
  3062. and replaces the original target instance with a surrogate instance.
  3063. </summary>
  3064. </member>
  3065. <member name="M:LinFu.IoC.Interceptors.InvocationInfoInterceptor.#ctor(LinFu.AOP.Interfaces.IInvocationInfo,System.Func{System.Object},LinFu.IoC.Configuration.Interfaces.IMethodInvoke{System.Reflection.MethodInfo})">
  3066. <summary>
  3067. Initializes the class with a functor that can provide the actual target instance.
  3068. </summary>
  3069. <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>
  3070. <param name="methodInvoke">The method invoker.</param>
  3071. <param name="realInfo">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the current execution context.</param>
  3072. </member>
  3073. <member name="M:LinFu.IoC.Interceptors.InvocationInfoInterceptor.GetTarget(LinFu.AOP.Interfaces.IInvocationInfo)">
  3074. <summary>
  3075. Gets the target object instance.
  3076. </summary>
  3077. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the current execution context.</param>
  3078. </member>
  3079. <member name="T:LinFu.IoC.InstanceFactory">
  3080. <summary>
  3081. A factory that uses an existing object reference
  3082. instead of creating a new service.
  3083. </summary>
  3084. </member>
  3085. <member name="M:LinFu.IoC.InstanceFactory.#ctor(System.Object)">
  3086. <summary>
  3087. Creates a factory using the existing <paramref name="instance" />.
  3088. </summary>
  3089. <param name="instance">The existing object reference that the factory will return.</param>
  3090. </member>
  3091. <member name="M:LinFu.IoC.InstanceFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  3092. <summary>
  3093. A method that returns the existing object reference associated with
  3094. this factory.
  3095. </summary>
  3096. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  3097. <returns>A non-null object reference.</returns>
  3098. </member>
  3099. <member name="T:LinFu.IoC.Configuration.FactoryAttribute">
  3100. <summary>
  3101. An attribute that marks a type as a custom factory.
  3102. </summary>
  3103. </member>
  3104. <member name="F:LinFu.IoC.Configuration.FactoryAttribute.ServiceName">
  3105. <summary>
  3106. The service name that will be associated
  3107. with the service type.
  3108. </summary>
  3109. </member>
  3110. <member name="M:LinFu.IoC.Configuration.FactoryAttribute.#ctor(System.Type)">
  3111. <summary>
  3112. Marks a target type as a custom factory
  3113. that can create object instances that
  3114. can implement the <paramref name="serviceType" />.
  3115. </summary>
  3116. <param name="serviceType">The service type to create.</param>
  3117. </member>
  3118. <member name="P:LinFu.IoC.Configuration.FactoryAttribute.ServiceType">
  3119. <summary>
  3120. Gets the service type that can be created
  3121. using the factory instance.
  3122. </summary>
  3123. </member>
  3124. <member name="T:LinFu.IoC.ServiceRequestResult">
  3125. <summary>
  3126. Represents the results returned when a service request
  3127. is made against an <see cref="T:LinFu.IoC.Interfaces.IContainer" /> instance.
  3128. </summary>
  3129. </member>
  3130. <member name="P:LinFu.IoC.ServiceRequestResult.ServiceName">
  3131. <summary>
  3132. The name of the service being created. By default, this property is blank.
  3133. </summary>
  3134. </member>
  3135. <member name="P:LinFu.IoC.ServiceRequestResult.OriginalResult">
  3136. <summary>
  3137. The raw object reference created by the container itself.
  3138. </summary>
  3139. </member>
  3140. <member name="P:LinFu.IoC.ServiceRequestResult.ActualResult">
  3141. <summary>
  3142. The result that will be returned from the container
  3143. instead of the <see cref="P:LinFu.IoC.ServiceRequestResult.OriginalResult" />.
  3144. If this property is null, then the original result will be used.
  3145. </summary>
  3146. </member>
  3147. <member name="P:LinFu.IoC.ServiceRequestResult.ServiceType">
  3148. <summary>
  3149. The type of service being requested.
  3150. </summary>
  3151. </member>
  3152. <member name="P:LinFu.IoC.ServiceRequestResult.Container">
  3153. <summary>
  3154. The container that will handle the service request.
  3155. </summary>
  3156. </member>
  3157. <member name="P:LinFu.IoC.ServiceRequestResult.AdditionalArguments">
  3158. <summary>
  3159. Gets or sets the value indicating the additional arguments that
  3160. were used during the service request.
  3161. </summary>
  3162. </member>
  3163. <member name="T:LinFu.IoC.ServiceRequest">
  3164. <summary>
  3165. Reprsents the default implementation of the <see cref="T:LinFu.IoC.Interfaces.IServiceRequest" /> interface.
  3166. </summary>
  3167. </member>
  3168. <member name="M:LinFu.IoC.ServiceRequest.#ctor(System.String,System.Type,System.Object[],LinFu.IoC.Interfaces.IFactory,LinFu.IoC.Interfaces.IServiceContainer)">
  3169. <summary>
  3170. Initializes the <see cref="T:LinFu.IoC.ServiceRequest" /> class.
  3171. </summary>
  3172. <param name="serviceName">The name of the requested service.</param>
  3173. <param name="serviceType">The requested service type.</param>
  3174. <param name="proposedArguments">The proposed set of arguments that will be given to the factory.</param>
  3175. <param name="proposedFactory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be used to handle the service request.</param>
  3176. <param name="container">The host container.</param>
  3177. </member>
  3178. <member name="P:LinFu.IoC.ServiceRequest.ProposedArguments">
  3179. <summary>
  3180. Gets the value indicating the original arguments that
  3181. were given during the service request.
  3182. </summary>
  3183. </member>
  3184. <member name="P:LinFu.IoC.ServiceRequest.ProposedFactory">
  3185. <summary>
  3186. Gets the value indicating the original <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance
  3187. that will be used to handle the service request.
  3188. </summary>
  3189. </member>
  3190. <member name="P:LinFu.IoC.ServiceRequest.Container">
  3191. <summary>
  3192. The container that will handle the service request.
  3193. </summary>
  3194. </member>
  3195. <member name="P:LinFu.IoC.ServiceRequest.ActualArguments">
  3196. <summary>
  3197. Gets or sets the value indicating the actual arguments that
  3198. will be used for the service request.
  3199. </summary>
  3200. </member>
  3201. <member name="P:LinFu.IoC.ServiceRequest.ActualFactory">
  3202. <summary>
  3203. Gets or sets the value indicating the actual <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance
  3204. that will be used to handle the service request.
  3205. </summary>
  3206. </member>
  3207. <member name="T:LinFu.IoC.Configuration.Loaders.ImplementsAttributeLoader">
  3208. <summary>
  3209. A loader class that scans a type for <see cref="T:LinFu.IoC.Configuration.ImplementsAttribute" />
  3210. attribute declarations and creates a factory for each corresponding
  3211. attribute instance.
  3212. </summary>
  3213. <seealso cref="T:LinFu.IoC.Interfaces.IFactory" />
  3214. </member>
  3215. <member name="M:LinFu.IoC.Configuration.Loaders.ImplementsAttributeLoader.Load(System.Type)">
  3216. <summary>
  3217. Converts a given <see cref="T:System.Type" /> into
  3218. a set of <see cref="T:System.Action`1" /> instances so that
  3219. the <see cref="T:LinFu.IoC.Interfaces.IContainer" /> instance can be loaded
  3220. with the given factories.
  3221. </summary>
  3222. <param name="sourceType">The input type from which one or more factories will be created.</param>
  3223. <returns>A set of <see cref="T:System.Action`1" /> instances. This cannot be null.</returns>
  3224. </member>
  3225. <member name="M:LinFu.IoC.Configuration.Loaders.ImplementsAttributeLoader.CreateFactory(System.Type,System.Type,LinFu.IoC.Configuration.LifecycleType)">
  3226. <summary>
  3227. Creates a factory instance that can create instaces of the given
  3228. <paramref name="serviceType" /> using the <paramref name="implementingType" />
  3229. as the implementation.
  3230. </summary>
  3231. <param name="serviceType">The service being implemented.</param>
  3232. <param name="implementingType">The actual type that will implement the service.</param>
  3233. <param name="lifecycle">The <see cref="T:LinFu.IoC.Configuration.LifecycleType" /> that determines the lifetime of each instance being created.</param>
  3234. <returns>A valid <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</returns>
  3235. </member>
  3236. <member name="M:LinFu.IoC.Configuration.Loaders.ImplementsAttributeLoader.CanLoad(System.Type)">
  3237. <summary>
  3238. Determines whether or not the current <paramref name="sourceType" />
  3239. can be loaded.
  3240. </summary>
  3241. <param name="sourceType">The source type currently being loaded.</param>
  3242. <returns>Returns <c>true</c> if the type is a class type; otherwise, it returns <c>false</c>.</returns>
  3243. </member>
  3244. <member name="T:LinFu.IoC.Configuration.FactoryAttributeLoader">
  3245. <summary>
  3246. A class that injects custom <see cref="T:LinFu.IoC.Interfaces.IFactory" /> and <see cref="T:LinFu.IoC.Interfaces.IFactory`1" />
  3247. instances into an <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  3248. </summary>
  3249. </member>
  3250. <member name="M:LinFu.IoC.Configuration.FactoryAttributeLoader.Load(System.Type)">
  3251. <summary>
  3252. Loads an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> and <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> instance
  3253. into a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance using the given
  3254. <paramref name="sourceType" />.
  3255. </summary>
  3256. <param name="sourceType">The input type from which one or more factories will be created.</param>
  3257. <returns>A set of <see cref="T:System.Action`1" /> instances. This cannot be null.</returns>
  3258. </member>
  3259. <member name="M:LinFu.IoC.Configuration.FactoryAttributeLoader.CanLoad(System.Type)">
  3260. <summary>
  3261. Determines whether or not the current <paramref name="sourceType" />
  3262. can be loaded.
  3263. </summary>
  3264. <param name="sourceType">The source type currently being loaded.</param>
  3265. <returns>Returns <c>true</c> if the type is a class type; otherwise, it returns <c>false</c>.</returns>
  3266. </member>
  3267. <member name="T:LinFu.IoC.Configuration.ResolutionExtensions">
  3268. <summary>
  3269. Adds methods that extend LinFu.IoC to support automatic constructor resolution.
  3270. </summary>
  3271. </member>
  3272. <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.MustExistInContainer(System.Type)">
  3273. <summary>
  3274. Generates a predicate that determines whether or not a specific parameter type
  3275. exists in a container.
  3276. </summary>
  3277. <param name="parameterType">The target <see cref="T:System.Type" />. </param>
  3278. <returns>A a predicate that determines whether or not a specific type
  3279. exists in a container</returns>
  3280. </member>
  3281. <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.ExistsAsEnumerableSetOfServices(System.Type)">
  3282. <summary>
  3283. Generates a predicate that determines whether or not a specific type is actually
  3284. a list of services that can be created from a given container.
  3285. </summary>
  3286. <param name="parameterType">The target <see cref="T:System.Type" />. </param>
  3287. <returns>A a predicate that determines whether or not a specific type
  3288. exists as a list of services in a container</returns>
  3289. </member>
  3290. <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.ExistsAsServiceArray(System.Type)">
  3291. <summary>
  3292. Generates a predicate that determines whether or not a specific type is actually
  3293. a list of services that can be created from a given container.
  3294. </summary>
  3295. <param name="parameterType">The target <see cref="T:System.Type" />. </param>
  3296. <returns>A a predicate that determines whether or not a specific type
  3297. exists as a list of services in a container</returns>
  3298. </member>
  3299. <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.ResolveArgumentsFrom(System.Reflection.MethodBase,LinFu.IoC.Interfaces.IServiceContainer)">
  3300. <summary>
  3301. Builds an argument list for the <paramref name="method" />
  3302. using the given <paramref name="container" /> instance.
  3303. </summary>
  3304. <param name="method">The method that will be used to instantiate an object instance.</param>
  3305. <param name="container">The container that will provide the method arguments.</param>
  3306. <returns>An array of objects to be used with the target method.</returns>
  3307. </member>
  3308. <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.ResolveFrom(LinFu.IoC.Configuration.Interfaces.IArgumentResolver,System.Reflection.MethodBase,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
  3309. <summary>
  3310. Builds an argument list for the target <paramref name="method" /> from
  3311. services embedded inside the <paramref name="container" /> instance.
  3312. </summary>
  3313. <param name="resolver">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IArgumentResolver" /> instance that will determine the method arguments.</param>
  3314. <param name="method">The target method.</param>
  3315. <param name="container">The container that will provide the method arguments.</param>
  3316. <param name="additionalArguments">The additional arguments that will be passed to the target method.</param>
  3317. <returns>An array of objects to be used with the target method.</returns>
  3318. </member>
  3319. <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.Cast(System.Collections.IEnumerable,System.Type)">
  3320. <summary>
  3321. Casts an <see cref="T:System.Collections.IEnumerable" /> set of items into an array of
  3322. <paramref name="targetElementType" /> items.
  3323. </summary>
  3324. <param name="items">The items being converted.</param>
  3325. <param name="targetElementType">The element type of the resulting array.</param>
  3326. <returns>An array of items that match the <paramref name="targetElementType" />.</returns>
  3327. </member>
  3328. <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.Cast``1(System.Collections.IEnumerable)">
  3329. <summary>
  3330. Performs a strongly typed cast against an <see cref="T:System.Collections.IEnumerable" /> instance.
  3331. </summary>
  3332. <typeparam name="T">The target element type.</typeparam>
  3333. <param name="items">The list of items being converted.</param>
  3334. <returns>An array of items that match the <typeparamref name="T" /> element type.</returns>
  3335. </member>
  3336. <member name="T:LinFu.IoC.Interceptors.ProxyInjector">
  3337. <summary>
  3338. Represents a class that automatically injects a proxy instance
  3339. instead of an actual service instance.
  3340. </summary>
  3341. </member>
  3342. <member name="M:LinFu.IoC.Interceptors.ProxyInjector.#ctor(System.Func{LinFu.IoC.Interfaces.IServiceRequestResult,System.Boolean},System.Func{LinFu.IoC.Interfaces.IServiceRequestResult,System.Object})">
  3343. <summary>
  3344. Initializes the class with the <paramref name="filterPredicate" />
  3345. and the <paramref name="createProxy" /> factory method.
  3346. </summary>
  3347. <param name="filterPredicate">The predicate that will determine which service requests will be proxied.</param>
  3348. <param name="createProxy">The factory method that will generate the proxy instance itself.</param>
  3349. </member>
  3350. <member name="M:LinFu.IoC.Interceptors.ProxyInjector.PostProcess(LinFu.IoC.Interfaces.IServiceRequestResult)">
  3351. <summary>
  3352. A method that injects service proxies in place of the actual <see cref="P:LinFu.IoC.Interfaces.IServiceRequestResult.ActualResult" />.
  3353. </summary>
  3354. <param name="result">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> instance that describes the service request.</param>
  3355. </member>
  3356. <member name="T:LinFu.IoC.Interceptors.InterceptsAttribute">
  3357. <summary>
  3358. The attribute class used to indentify interceptor classes.
  3359. </summary>
  3360. </member>
  3361. <member name="M:LinFu.IoC.Interceptors.InterceptsAttribute.#ctor(System.Type)">
  3362. <summary>
  3363. Initializes the class with the given <paramref name="targetType" />.
  3364. </summary>
  3365. <param name="targetType">The target type that will be intercepted.</param>
  3366. </member>
  3367. <member name="M:LinFu.IoC.Interceptors.InterceptsAttribute.#ctor(System.String,System.Type)">
  3368. <summary>
  3369. Initializes the class with the given <paramref name="targetType" /> and <paramref name="serviceName" />.
  3370. </summary>
  3371. <param name="serviceName">The name of service that will be intercepted.</param>
  3372. <param name="targetType">The target type that will be intercepted.</param>
  3373. </member>
  3374. <member name="P:LinFu.IoC.Interceptors.InterceptsAttribute.ServiceName">
  3375. <summary>
  3376. Gets the value indicating the name of the service to intercept.
  3377. </summary>
  3378. </member>
  3379. <member name="P:LinFu.IoC.Interceptors.InterceptsAttribute.TargetType">
  3380. <summary>
  3381. Gets the value indicating the target type that will be intercepted.
  3382. </summary>
  3383. </member>
  3384. <member name="T:LinFu.IoC.Interceptors.LazyInterceptor`1">
  3385. <summary>
  3386. An interceptor class that instantiates a target type only when
  3387. the methods for that target are invoked.
  3388. </summary>
  3389. <typeparam name="T">The type of object to intercept.</typeparam>
  3390. </member>
  3391. <member name="M:LinFu.IoC.Interceptors.LazyInterceptor`1.#ctor(System.Func{`0})">
  3392. <summary>
  3393. Initializes the class with the <paramref name="getInstance" />
  3394. factory method.
  3395. </summary>
  3396. <param name="getInstance">The functor that will be used to create the actual object instance.</param>
  3397. </member>
  3398. <member name="M:LinFu.IoC.Interceptors.LazyInterceptor`1.GetTarget(LinFu.AOP.Interfaces.IInvocationInfo)">
  3399. <summary>
  3400. A method that uses the given factory method to provide a target
  3401. for the method currently being invoked.
  3402. </summary>
  3403. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> object that describes the current invocation context.</param>
  3404. <returns>The target itself.</returns>
  3405. </member>
  3406. <member name="M:LinFu.IoC.Interceptors.LazyInterceptor`1.Intercept(LinFu.AOP.Interfaces.IInvocationInfo)">
  3407. <summary>
  3408. Intercepts the method and initializes the target instance before the
  3409. actual object is invoked.
  3410. </summary>
  3411. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> that describes the execution context.</param>
  3412. <returns>The return value of the target method.</returns>
  3413. </member>
  3414. <member name="T:LinFu.IoC.Factories.OncePerThreadFactory`1">
  3415. <summary>
  3416. A factory that creates service instances that are unique
  3417. from within the same thread as the factory itself.
  3418. </summary>
  3419. <typeparam name="T">The type of service to instantiate.</typeparam>
  3420. </member>
  3421. <member name="M:LinFu.IoC.Factories.OncePerThreadFactory`1.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,`0})">
  3422. <summary>
  3423. Initializes the factory class using the <paramref name="createInstance" />
  3424. parameter as a factory delegate.
  3425. </summary>
  3426. <example>
  3427. The following is an example of initializing a <c>OncePerThreadFactory&lt;T&gt;</c>
  3428. type:
  3429. <code>
  3430. // Define the factory delegate
  3431. Func&lt;IFactoryRequest, ISomeService&gt; createService = container=&gt;new SomeServiceImplementation();
  3432. // Create the factory
  3433. var factory = new OncePerThreadFactory&lt;ISomeService&gt;(createService);
  3434. // Use the service instance
  3435. var service = factory.CreateInstance(null);
  3436. // ...
  3437. </code></example>
  3438. <param name="createInstance">The delegate that will be used to create each new service instance.</param>
  3439. </member>
  3440. <member name="M:LinFu.IoC.Factories.OncePerThreadFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
  3441. <summary>
  3442. Creates the service instance using the given <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" />
  3443. instance. Every service instance created from this factory will
  3444. only be created once per thread.
  3445. </summary>
  3446. <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
  3447. <returns>A a service instance as thread-wide singleton.</returns>
  3448. </member>
  3449. <member name="T:LinFu.IoC.Configuration.InitializerPlugin">
  3450. <summary>
  3451. A class that injects the <see cref="T:LinFu.IoC.Configuration.Initializer" /> postprocessor
  3452. into every container that is created or loaded.
  3453. </summary>
  3454. </member>
  3455. <member name="M:LinFu.IoC.Configuration.InitializerPlugin.BeginLoad(LinFu.IoC.Interfaces.IServiceContainer)">
  3456. <summary>
  3457. This override does absolutely nothing.
  3458. </summary>
  3459. <param name="target">The target container.</param>
  3460. </member>
  3461. <member name="M:LinFu.IoC.Configuration.InitializerPlugin.EndLoad(LinFu.IoC.Interfaces.IServiceContainer)">
  3462. <summary>
  3463. Injects the <see cref="T:LinFu.IoC.Configuration.Initializer" /> postprocessor into
  3464. the container.
  3465. </summary>
  3466. <param name="target">
  3467. </param>
  3468. </member>
  3469. <member name="T:LinFu.IoC.Configuration.ConstructorInvoke">
  3470. <summary>
  3471. A class that invokes constructor instances.
  3472. </summary>
  3473. </member>
  3474. <member name="M:LinFu.IoC.Configuration.ConstructorInvoke.#ctor">
  3475. <summary>
  3476. Initializes the class with the default values.
  3477. </summary>
  3478. </member>
  3479. <member name="T:LinFu.IoC.Configuration.PostProcessorAttribute">
  3480. <summary>
  3481. Marks a target type as an <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" />
  3482. instance that can be injected into a
  3483. <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
  3484. </summary>
  3485. </member>
  3486. <member name="T:LinFu.IoC.NamedServiceNotFoundException">
  3487. <summary>
  3488. The exception thrown when a service name and a service type is
  3489. requested from a named container and that named container
  3490. is unable to find or create that particular service instance.
  3491. </summary>
  3492. </member>
  3493. <member name="M:LinFu.IoC.NamedServiceNotFoundException.#ctor(System.String,System.Type)">
  3494. <summary>
  3495. Initializes the service exception using the
  3496. given <paramref name="serviceType" /> as
  3497. the service that was not found.
  3498. </summary>
  3499. <param name="serviceType">The service type being requested.</param>
  3500. <param name="serviceName">The name of the service being requested.</param>
  3501. </member>
  3502. <member name="P:LinFu.IoC.NamedServiceNotFoundException.Message">
  3503. <summary>
  3504. The error message that this particular exception
  3505. will display.
  3506. </summary>
  3507. </member>
  3508. <member name="T:LinFu.IoC.Configuration.IContainerLoader">
  3509. <summary>
  3510. Represents a loader that reads a file and converts it
  3511. into an equivalent set of a set of <see cref="T:System.Action`1" />
  3512. instances that can be applied to a particular
  3513. instance of an <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> class.
  3514. </summary>
  3515. </member>
  3516. <member name="T:LinFu.IoC.Interceptors.ProxyContainerPlugin">
  3517. <summary>
  3518. A <see cref="T:LinFu.IoC.Configuration.Interfaces.IContainerPlugin" /> implementation that inserts
  3519. <see cref="T:LinFu.IoC.Interceptors.ProxyInjector" /> instances at the beginning of a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  3520. loading sequence.
  3521. </summary>
  3522. </member>
  3523. <member name="M:LinFu.IoC.Interceptors.ProxyContainerPlugin.#ctor(LinFu.IoC.Interceptors.ProxyInjector)">
  3524. <summary>
  3525. Initializes the class with the given <see cref="T:LinFu.IoC.Interceptors.ProxyInjector" /> instance.
  3526. </summary>
  3527. <param name="injector">The postprocessor that will inject proxies in place of actual service requests.</param>
  3528. </member>
  3529. <member name="M:LinFu.IoC.Interceptors.ProxyContainerPlugin.BeginLoad(LinFu.IoC.Interfaces.IServiceContainer)">
  3530. <summary>
  3531. Injects a <see cref="T:LinFu.IoC.Interceptors.ProxyInjector" /> into the <paramref name="target">target container</paramref>.
  3532. </summary>
  3533. <param name="target">The service container that will hold the <see cref="T:LinFu.IoC.Interceptors.ProxyInjector" />.</param>
  3534. </member>
  3535. <member name="M:LinFu.IoC.Interceptors.ProxyContainerPlugin.EndLoad(LinFu.IoC.Interfaces.IServiceContainer)">
  3536. <summary>
  3537. Does absolutely nothing.
  3538. </summary>
  3539. <param name="target">The target container.</param>
  3540. </member>
  3541. <member name="T:LinFu.IoC.Configuration.Loaders.PreprocessorLoader">
  3542. <summary>
  3543. A class that automatically loads <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" />
  3544. instances and configures a loader to inject those postprocessors
  3545. into a container upon initialization.
  3546. </summary>
  3547. </member>
  3548. <member name="M:LinFu.IoC.Configuration.Loaders.PreprocessorLoader.CanLoad(System.Type)">
  3549. <summary>
  3550. Determines if the plugin loader can load the <paramref name="inputType" />.
  3551. </summary>
  3552. <remarks>The target type must implement the <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" /> interface before it can be loaded into memory.</remarks>
  3553. <param name="inputType">The target type that might contain the target instance.</param>
  3554. <returns>
  3555. <c>true</c> if the type can be loaded; otherwise, it returns <c>false</c>.</returns>
  3556. </member>
  3557. <member name="M:LinFu.IoC.Configuration.Loaders.PreprocessorLoader.Load(System.Type)">
  3558. <summary>
  3559. Loads a set of <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" /> instances
  3560. so that they can be loaded into a container upon initialization.
  3561. </summary>
  3562. <param name="inputType">The type that will be used to configure the target loader.</param>
  3563. <returns>A set of <see cref="T:System.Action`1" /> instances. This cannot be <c>null</c>.</returns>
  3564. </member>
  3565. <member name="T:LinFu.IoC.Configuration.InMemoryAssemblyLoader">
  3566. <summary>
  3567. An assembly loader that returns an existing
  3568. <see cref="T:System.Reflection.Assembly" /> from memory.
  3569. </summary>
  3570. </member>
  3571. <member name="M:LinFu.IoC.Configuration.InMemoryAssemblyLoader.#ctor(System.Reflection.Assembly)">
  3572. <summary>
  3573. Initializes the class with an existing
  3574. <see cref="T:System.Reflection.Assembly" />.
  3575. </summary>
  3576. <param name="targetAssembly">The target assembly.</param>
  3577. </member>
  3578. <member name="T:LinFu.IoC.Configuration.ActionContext`1">
  3579. <summary>
  3580. Represents the <c>internal</c> context class that will be used to
  3581. incrementally build enough information to initialize
  3582. a specific <typeparamref name="TService" /> type once
  3583. that service has been instantiated.
  3584. </summary>
  3585. <typeparam name="TService">The service type to be created.</typeparam>
  3586. </member>
  3587. <member name="P:LinFu.IoC.Configuration.ActionContext`1.Action">
  3588. <summary>
  3589. The action that will be performed on an <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
  3590. instance once the fluent command executes.
  3591. </summary>
  3592. </member>
  3593. <member name="T:LinFu.IoC.Configuration.ReflectionMethodBuilder`1">
  3594. <summary>
  3595. Represents a <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodBuilder`1" /> type that simply lets
  3596. methods pass through it without performing any modifications to those methods.
  3597. </summary>
  3598. </member>
  3599. <member name="T:LinFu.Proxy.ProxyBuilder">
  3600. <summary>
  3601. A <see cref="T:LinFu.Proxy.Interfaces.IProxyBuilder" /> type that generates
  3602. proxies that forward all virtual method calls to a
  3603. single interceptor.
  3604. </summary>
  3605. </member>
  3606. <member name="M:LinFu.Proxy.ProxyBuilder.#ctor">
  3607. <summary>
  3608. Initializes the current class with the default values.
  3609. </summary>
  3610. </member>
  3611. <member name="M:LinFu.Proxy.ProxyBuilder.Construct(System.Type,System.Collections.Generic.IEnumerable{System.Type},Mono.Cecil.ModuleDefinition,Mono.Cecil.TypeDefinition)">
  3612. <summary>
  3613. Generates a proxy that forwards all virtual method calls
  3614. to a single <see cref="T:LinFu.AOP.Interfaces.IInterceptor" /> instance.
  3615. </summary>
  3616. <param name="originalBaseType">The base class of the type being constructed.</param>
  3617. <param name="baseInterfaces">The list of interfaces that the new type must implement.</param>
  3618. <param name="module">The module that will hold the brand new type.</param>
  3619. <param name="targetType">The <see cref="T:Mono.Cecil.TypeDefinition" /> that represents the type to be created.</param>
  3620. </member>
  3621. <member name="M:LinFu.Proxy.ProxyBuilder.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  3622. <summary>
  3623. Initializes the current instance
  3624. with the <paramref name="source" /> container.
  3625. </summary>
  3626. <param name="source">The <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance that will hold the current instance.</param>
  3627. </member>
  3628. <member name="P:LinFu.Proxy.ProxyBuilder.ProxyImplementor">
  3629. <summary>
  3630. Gets or sets the <see cref="T:LinFu.Reflection.Emit.Interfaces.ITypeBuilder" /> interface
  3631. which will emit the actual implementation of the IProxy interface.
  3632. </summary>
  3633. </member>
  3634. <member name="P:LinFu.Proxy.ProxyBuilder.MethodPicker">
  3635. <summary>
  3636. Gets or sets the <see cref="T:LinFu.Proxy.Interfaces.IMethodPicker" />
  3637. instance that will determine which methods
  3638. will be proxied by the proxy builder.
  3639. </summary>
  3640. </member>
  3641. <member name="P:LinFu.Proxy.ProxyBuilder.ProxyMethodBuilder">
  3642. <summary>
  3643. The <see cref="T:LinFu.Proxy.Interfaces.IMethodBuilder" /> instance
  3644. that will be responsible for generating each method
  3645. for the current target type.
  3646. </summary>
  3647. </member>
  3648. <member name="T:LinFu.Proxy.InterfaceExtractor">
  3649. <summary>
  3650. Provides the default implementation for the
  3651. <see cref="T:LinFu.Proxy.Interfaces.IExtractInterfaces" /> interface.
  3652. </summary>
  3653. </member>
  3654. <member name="M:LinFu.Proxy.InterfaceExtractor.GetInterfaces(System.Type,System.Collections.Generic.HashSet{System.Type})">
  3655. <summary>
  3656. Determines which interfaces a given type should implement.
  3657. </summary>
  3658. <param name="currentType">The base type that holds the list of interfaces to implement.</param>
  3659. <param name="interfaceList">The list of interfaces already being implemented. </param>
  3660. </member>
  3661. <member name="T:LinFu.Proxy.ProxyFactory">
  3662. <summary>
  3663. Provides the basic implementation for a proxy factory class.
  3664. </summary>
  3665. </member>
  3666. <member name="M:LinFu.Proxy.ProxyFactory.#ctor">
  3667. <summary>
  3668. Initializes the proxy factory with the default values.
  3669. </summary>
  3670. </member>
  3671. <member name="M:LinFu.Proxy.ProxyFactory.CreateProxyType(System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  3672. <summary>
  3673. Creates a proxy type using the given
  3674. <paramref name="baseType" /> as the base class
  3675. and ensures that the proxy type implements the given
  3676. interface types.
  3677. </summary>
  3678. <param name="baseType">The base class from which the proxy type will be derived.</param>
  3679. <param name="baseInterfaces">The list of interfaces that the proxy will implement.</param>
  3680. <returns>A forwarding proxy.</returns>
  3681. </member>
  3682. <member name="M:LinFu.Proxy.ProxyFactory.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  3683. <summary>
  3684. Initializes the <see cref="T:LinFu.Proxy.ProxyFactory" /> instance
  3685. with the <paramref name="source" /> container.
  3686. </summary>
  3687. <param name="source">The <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance that will hold the ProxyFactory.</param>
  3688. </member>
  3689. <member name="P:LinFu.Proxy.ProxyFactory.InterfaceExtractor">
  3690. <summary>
  3691. Gets or sets the <see cref="T:LinFu.Proxy.Interfaces.IExtractInterfaces" /> type that will be
  3692. responsible for determining which interfaces
  3693. the proxy type should implement.
  3694. </summary>
  3695. </member>
  3696. <member name="P:LinFu.Proxy.ProxyFactory.ProxyBuilder">
  3697. <summary>
  3698. The <see cref="T:LinFu.Proxy.Interfaces.IProxyBuilder" /> instance that is
  3699. responsible for generating the proxy type.
  3700. </summary>
  3701. </member>
  3702. <member name="P:LinFu.Proxy.ProxyFactory.Verifier">
  3703. <summary>
  3704. The <see cref="T:LinFu.AOP.Interfaces.IVerifier" /> instance that will be used to
  3705. ensure that the generated assemblies are valid.
  3706. </summary>
  3707. </member>
  3708. <member name="P:LinFu.Proxy.ProxyFactory.Cache">
  3709. <summary>
  3710. Gets or sets a value indicating the <see cref="T:LinFu.Proxy.Interfaces.IProxyCache" />
  3711. instance that will be used to cache previous proxy generation runs.
  3712. </summary>
  3713. </member>
  3714. <member name="T:LinFu.Proxy.ProxyCacheEntry">
  3715. <summary>
  3716. Represents a cached proxy type.
  3717. </summary>
  3718. </member>
  3719. <member name="T:LinFu.Proxy.MethodPicker">
  3720. <summary>
  3721. Represents the default class implementation for the
  3722. <see cref="T:LinFu.Proxy.Interfaces.IMethodPicker" /> interface.
  3723. </summary>
  3724. </member>
  3725. <member name="M:LinFu.Proxy.MethodPicker.ChooseProxyMethodsFrom(System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  3726. <summary>
  3727. Determines which methods can be proxied from
  3728. the given <paramref name="baseType" /> and <paramref name="baseInterfaces" />.
  3729. </summary>
  3730. <remarks>By default, only public virtual methods will be proxied.</remarks>
  3731. <param name="baseType">The base class of the proxy type currently being generated.</param>
  3732. <param name="baseInterfaces">The list of interfaces that the proxy must implement.</param>
  3733. <returns>A list of <see cref="T:System.Reflection.MethodInfo" /> objects that can be proxied.</returns>
  3734. </member>
  3735. <member name="T:LinFu.Proxy.ProxyImplementor">
  3736. <summary>
  3737. A class that provides the default implementation
  3738. for the IProxy interface.
  3739. </summary>
  3740. </member>
  3741. <member name="M:LinFu.Proxy.ProxyImplementor.Construct(Mono.Cecil.ModuleDefinition,Mono.Cecil.TypeDefinition)">
  3742. <summary>
  3743. Constructs a type that implements the
  3744. <see cref="T:LinFu.Proxy.Interfaces.IProxy" /> interface.
  3745. </summary>
  3746. <param name="module">The module that will hold the target type.</param>
  3747. <param name="targetType">The type that will implement the <see cref="T:LinFu.Proxy.Interfaces.IProxy" /> interface.</param>
  3748. </member>
  3749. <member name="T:LinFu.Proxy.ProxyCache">
  3750. <summary>
  3751. Represents the default implementation of the <see cref="T:LinFu.Proxy.Interfaces.IProxyCache" /> interface.
  3752. </summary>
  3753. </member>
  3754. <member name="M:LinFu.Proxy.ProxyCache.Contains(System.Type,System.Type[])">
  3755. <summary>
  3756. Determines whether or not the cache contains an existing proxy type
  3757. that is derived from the <paramref name="baseType" /> and implements
  3758. the given <paramref name="baseInterfaces" />.
  3759. </summary>
  3760. <param name="baseType">The base type of the dynamically-generated proxy type.</param>
  3761. <param name="baseInterfaces">The list of interfaces that the generated proxy type must implement.</param>
  3762. <returns>Returns <c>true</c> if the proxy type already exists; otherwise, it will return <c>false.</c></returns>
  3763. </member>
  3764. <member name="M:LinFu.Proxy.ProxyCache.Get(System.Type,System.Type[])">
  3765. <summary>
  3766. Retrieves an existing proxy type from the cache.
  3767. </summary>
  3768. <param name="baseType">The base type of the dynamically-generated proxy type.</param>
  3769. <param name="baseInterfaces">The list of interfaces that the generated proxy type must implement.</param>
  3770. <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>
  3771. </member>
  3772. <member name="M:LinFu.Proxy.ProxyCache.Store(System.Type,System.Type,System.Type[])">
  3773. <summary>
  3774. Stores a proxy type in the cache.
  3775. </summary>
  3776. <param name="result">The proxy type to be stored.</param>
  3777. <param name="baseType">The base type of the dynamically-generated proxy type.</param>
  3778. <param name="baseInterfaces">The list of interfaces that the generated proxy type must implement.</param>
  3779. </member>
  3780. <member name="T:LinFu.Proxy.MethodBodyEmitter">
  3781. <summary>
  3782. Provides the default implementation for the
  3783. <see cref="T:LinFu.Proxy.Interfaces.IMethodBodyEmitter" /> interface.
  3784. </summary>
  3785. </member>
  3786. <member name="M:LinFu.Proxy.MethodBodyEmitter.#ctor">
  3787. <summary>
  3788. Initializes the class with the default values.
  3789. </summary>
  3790. </member>
  3791. <member name="M:LinFu.Proxy.MethodBodyEmitter.Emit(System.Reflection.MethodInfo,Mono.Cecil.MethodDefinition)">
  3792. <summary>
  3793. Generates a method body for the <paramref name="targetMethod" />.
  3794. </summary>
  3795. <param name="originalMethod">The method currently being intercepted.</param>
  3796. <param name="targetMethod">The target method that will contain the new method body.</param>
  3797. </member>
  3798. <member name="M:LinFu.Proxy.MethodBodyEmitter.ImplementNotFound(Mono.Cecil.Cil.CilWorker)">
  3799. <summary>
  3800. Causes the <see cref="T:Mono.Cecil.Cil.CilWorker" /> to make the method throw a
  3801. <see cref="T:System.NotImplementedException" /> if the method cannot be found.
  3802. </summary>
  3803. <param name="IL">
  3804. </param>
  3805. </member>
  3806. <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)">
  3807. <summary>
  3808. Saves the ref arguments of a given method using the
  3809. <paramref name="arguments" /> from the <paramref name="invocationInfo" />
  3810. object.
  3811. </summary>
  3812. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will emit the method body.</param>
  3813. <param name="parameters">The parameters of the target method.</param>
  3814. <param name="invocationInfo">The local variable that contains the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
  3815. <param name="arguments">The local variable that will store the arguments from the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
  3816. </member>
  3817. <member name="M:LinFu.Proxy.MethodBodyEmitter.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  3818. <summary>
  3819. Initializes the MethodBodyEmitter class.
  3820. </summary>
  3821. <param name="source">
  3822. </param>
  3823. </member>
  3824. <member name="P:LinFu.Proxy.MethodBodyEmitter.InvocationInfoEmitter">
  3825. <summary>
  3826. The <see cref="T:LinFu.AOP.Interfaces.IEmitInvocationInfo" /> instance that
  3827. </summary>
  3828. </member>
  3829. <member name="T:LinFu.Proxy.ProxyMethodBuilder">
  3830. <summary>
  3831. Represents the default implementation of the
  3832. <see cref="T:LinFu.Proxy.Interfaces.IMethodBuilder" /> interface.
  3833. </summary>
  3834. </member>
  3835. <member name="M:LinFu.Proxy.ProxyMethodBuilder.#ctor">
  3836. <summary>
  3837. Initializes the <see cref="T:LinFu.Proxy.ProxyMethodBuilder" /> class with the default property values.
  3838. </summary>
  3839. </member>
  3840. <member name="M:LinFu.Proxy.ProxyMethodBuilder.CreateMethod(Mono.Cecil.TypeDefinition,System.Reflection.MethodInfo)">
  3841. <summary>
  3842. Creates a method that matches the signature defined in the
  3843. <paramref name="method" /> parameter.
  3844. </summary>
  3845. <param name="targetType">The type that will host the new method.</param>
  3846. <param name="method">The method from which the signature will be derived.</param>
  3847. </member>
  3848. <member name="M:LinFu.Proxy.ProxyMethodBuilder.MatchGenericArguments(Mono.Cecil.MethodDefinition,System.Collections.Generic.ICollection{System.Type})">
  3849. <summary>
  3850. Matches the generic parameters of <paramref name="newMethod">a target method</paramref></summary>
  3851. <param name="newMethod">The generic method that contains the generic type arguments.</param>
  3852. <param name="typeArguments">The array of <see cref="T:System.Type" /> objects that describe the generic parameters for the current method.</param>
  3853. </member>
  3854. <member name="M:LinFu.Proxy.ProxyMethodBuilder.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
  3855. <summary>
  3856. Initializes the class with the <paramref name="source" /> container.
  3857. </summary>
  3858. <param name="source">The <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance that will create the class instance.</param>
  3859. </member>
  3860. <member name="P:LinFu.Proxy.ProxyMethodBuilder.Emitter">
  3861. <summary>
  3862. The <see cref="T:LinFu.Proxy.Interfaces.IMethodBodyEmitter" /> instance that will be
  3863. responsible for generating the method body.
  3864. </summary>
  3865. </member>
  3866. <member name="T:LinFu.Proxy.Interfaces.ProxyFactoryExtensions">
  3867. <summary>
  3868. Extends the <see cref="T:LinFu.Proxy.Interfaces.IProxyFactory" /> class to support
  3869. instantiating proxy types.
  3870. </summary>
  3871. </member>
  3872. <member name="M:LinFu.Proxy.Interfaces.ProxyFactoryExtensions.CreateProxy(LinFu.Proxy.Interfaces.IProxyFactory,System.Type,LinFu.AOP.Interfaces.IInvokeWrapper,System.Type[])">
  3873. <summary>
  3874. Uses the <paramref name="factory" /> to create a proxy instance
  3875. that directly derives from the <paramref name="instanceType" />
  3876. and implements the given <paramref name="baseInterfaces" />.
  3877. The <paramref name="wrapper" /> instance, in turn, will be used
  3878. to intercept the method calls made to the proxy itself.
  3879. </summary>
  3880. <param name="factory">The IProxyFactory instance that will be used to generate the proxy type.</param>
  3881. <param name="instanceType">The type that will be intercepted by the proxy.</param>
  3882. <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>
  3883. <param name="baseInterfaces">The additional list of interfaces that the proxy will implement.</param>
  3884. <returns>A valid proxy instance.</returns>
  3885. </member>
  3886. <member name="M:LinFu.Proxy.Interfaces.ProxyFactoryExtensions.CreateProxy(LinFu.Proxy.Interfaces.IProxyFactory,System.Type,LinFu.AOP.Interfaces.IInterceptor,System.Type[])">
  3887. <summary>
  3888. Uses the <paramref name="factory" /> to create a proxy instance
  3889. that directly derives from the <paramref name="instanceType" />
  3890. and implements the given <paramref name="baseInterfaces" />.
  3891. The <paramref name="interceptor" /> instance, in turn, will be used
  3892. to intercept the method calls made to the proxy itself.
  3893. </summary>
  3894. <param name="factory">The IProxyFactory instance that will be used to generate the proxy type.</param>
  3895. <param name="instanceType">The type that will be intercepted by the proxy.</param>
  3896. <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>
  3897. <param name="baseInterfaces">The additional list of interfaces that the proxy will implement.</param>
  3898. <returns>A valid proxy instance.</returns>
  3899. </member>
  3900. <member name="M:LinFu.Proxy.Interfaces.ProxyFactoryExtensions.CreateProxy``1(LinFu.Proxy.Interfaces.IProxyFactory,LinFu.AOP.Interfaces.IInvokeWrapper,System.Type[])">
  3901. <summary>
  3902. Uses the <paramref name="factory" /> to create a proxy instance
  3903. that directly derives from the <typeparamref name="T" /> type
  3904. and implements the given <paramref name="baseInterfaces" />.
  3905. The <paramref name="wrapper" /> instance, in turn, will be used
  3906. to intercept the method calls made to the proxy itself.
  3907. </summary>
  3908. <typeparam name="T">The type that will be intercepted by the proxy.</typeparam>
  3909. <param name="factory">The IProxyFactory instance that will be used to generate the proxy type.</param>
  3910. <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>
  3911. <param name="baseInterfaces">The additional list of interfaces that the proxy will implement.</param>
  3912. <returns>A valid proxy instance.</returns>
  3913. </member>
  3914. <member name="M:LinFu.Proxy.Interfaces.ProxyFactoryExtensions.CreateProxy``1(LinFu.Proxy.Interfaces.IProxyFactory,LinFu.AOP.Interfaces.IInterceptor,System.Type[])">
  3915. <summary>
  3916. Uses the <paramref name="factory" /> to create a proxy instance
  3917. that directly derives from the <typeparamref name="T" /> type
  3918. and implements the given <paramref name="baseInterfaces" />.
  3919. The <paramref name="interceptor" /> instance, in turn, will be used
  3920. to intercept the method calls made to the proxy itself.
  3921. </summary>
  3922. <typeparam name="T">The type that will be intercepted by the proxy.</typeparam>
  3923. <param name="factory">The IProxyFactory instance that will be used to generate the proxy type.</param>
  3924. <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>
  3925. <param name="baseInterfaces">The additional list of interfaces that the proxy will implement.</param>
  3926. <returns>A valid proxy instance.</returns>
  3927. </member>
  3928. <member name="T:LinFu.Proxy.Interfaces.IProxyCache">
  3929. <summary>
  3930. Represents an interface for classes that store results from an
  3931. <see cref="T:LinFu.Proxy.Interfaces.IProxyFactory" /> instance.
  3932. </summary>
  3933. </member>
  3934. <member name="M:LinFu.Proxy.Interfaces.IProxyCache.Contains(System.Type,System.Type[])">
  3935. <summary>
  3936. Determines whether or not the cache contains an existing proxy type
  3937. that is derived from the <paramref name="baseType" /> and implements
  3938. the given <paramref name="baseInterfaces" />.
  3939. </summary>
  3940. <param name="baseType">The base type of the dynamically-generated proxy type.</param>
  3941. <param name="baseInterfaces">The list of interfaces that the generated proxy type must implement.</param>
  3942. <returns>Returns <c>true</c> if the proxy type already exists; otherwise, it will return <c>false.</c></returns>
  3943. </member>
  3944. <member name="M:LinFu.Proxy.Interfaces.IProxyCache.Get(System.Type,System.Type[])">
  3945. <summary>
  3946. Retrieves an existing proxy type from the cache.
  3947. </summary>
  3948. <param name="baseType">The base type of the dynamically-generated proxy type.</param>
  3949. <param name="baseInterfaces">The list of interfaces that the generated proxy type must implement.</param>
  3950. <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>
  3951. </member>
  3952. <member name="M:LinFu.Proxy.Interfaces.IProxyCache.Store(System.Type,System.Type,System.Type[])">
  3953. <summary>
  3954. Stores a proxy type in the cache.
  3955. </summary>
  3956. <param name="result">The proxy type to be stored.</param>
  3957. <param name="baseType">The base type of the dynamically-generated proxy type.</param>
  3958. <param name="baseInterfaces">The list of interfaces that the generated proxy type must implement.</param>
  3959. </member>
  3960. <member name="T:LinFu.Proxy.Interfaces.IMethodBuilder">
  3961. <summary>
  3962. Represents a class that generates methods based on other existing
  3963. methods.
  3964. </summary>
  3965. </member>
  3966. <member name="M:LinFu.Proxy.Interfaces.IMethodBuilder.CreateMethod(Mono.Cecil.TypeDefinition,System.Reflection.MethodInfo)">
  3967. <summary>
  3968. Creates a method that matches the signature defined in the
  3969. <paramref name="method" /> parameter.
  3970. </summary>
  3971. <param name="targetType">The type that will host the new method.</param>
  3972. <param name="method">The method from which the signature will be derived.</param>
  3973. </member>
  3974. <member name="T:LinFu.Proxy.Interfaces.IMethodBodyEmitter">
  3975. <summary>
  3976. Represents a class that is responsible for
  3977. constructing method bodies.
  3978. </summary>
  3979. </member>
  3980. <member name="M:LinFu.Proxy.Interfaces.IMethodBodyEmitter.Emit(System.Reflection.MethodInfo,Mono.Cecil.MethodDefinition)">
  3981. <summary>
  3982. Generates the method body for the <paramref name="targetMethod">target method</paramref>.
  3983. </summary>
  3984. <param name="originalMethod">The original method that the <paramref name="targetMethod" /> will be based on.</param>
  3985. <param name="targetMethod">The method that will contain the method body to be emitted.</param>
  3986. </member>
  3987. <member name="T:LinFu.Proxy.Interfaces.IProxy">
  3988. <summary>
  3989. Represents a dynamically generated proxy instance.
  3990. </summary>
  3991. </member>
  3992. <member name="P:LinFu.Proxy.Interfaces.IProxy.Interceptor">
  3993. <summary>
  3994. The interceptor that will handle all
  3995. calls made to the proxy instance.
  3996. </summary>
  3997. </member>
  3998. <member name="T:LinFu.Proxy.Interfaces.IProxyBuilder">
  3999. <summary>
  4000. Represents a class that is responsible
  4001. for generating proxy types.
  4002. </summary>
  4003. </member>
  4004. <member name="M:LinFu.Proxy.Interfaces.IProxyBuilder.Construct(System.Type,System.Collections.Generic.IEnumerable{System.Type},Mono.Cecil.ModuleDefinition,Mono.Cecil.TypeDefinition)">
  4005. <summary>
  4006. Generates a proxy that must be derived
  4007. from the <paramref name="baseType" /> and implement
  4008. the list of <paramref name="interfaces" />.
  4009. </summary>
  4010. <param name="baseType">The base class of the type being constructed.</param>
  4011. <param name="interfaces">The list of interfaces that the new type must implement.</param>
  4012. <param name="module">The module that will hold the brand new type.</param>
  4013. <param name="targetType">The <see cref="T:Mono.Cecil.TypeDefinition" /> that represents the type to be created.</param>
  4014. </member>
  4015. <member name="T:LinFu.Proxy.CallAdapter">
  4016. <summary>
  4017. Adapts an <see cref="T:LinFu.AOP.Interfaces.IInvokeWrapper" /> instance to an
  4018. <see cref="T:LinFu.AOP.Interfaces.IInterceptor" /> instance.
  4019. </summary>
  4020. </member>
  4021. <member name="M:LinFu.Proxy.CallAdapter.#ctor(LinFu.AOP.Interfaces.IInvokeWrapper)">
  4022. <summary>
  4023. Initializes the CallAdapter class with the <paramref name="wrapper" /> instance.
  4024. </summary>
  4025. <param name="wrapper">The <see cref="T:LinFu.AOP.Interfaces.IInvokeWrapper" /> instance that will be called every time the interceptor is invoked.</param>
  4026. </member>
  4027. <member name="M:LinFu.Proxy.CallAdapter.Intercept(LinFu.AOP.Interfaces.IInvocationInfo)">
  4028. <summary>
  4029. Intercepts a method call and passes the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> arguments
  4030. down to the <see cref="T:LinFu.AOP.Interfaces.IInvokeWrapper" /> instance.
  4031. </summary>
  4032. <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the method currently being executed.</param>
  4033. <returns>The return value of the target method.</returns>
  4034. </member>
  4035. <member name="T:LinFu.Proxy.Interfaces.IProxyFactory">
  4036. <summary>
  4037. Represents the basic interface for creating
  4038. dynamic proxy instances.
  4039. </summary>
  4040. </member>
  4041. <member name="M:LinFu.Proxy.Interfaces.IProxyFactory.CreateProxyType(System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  4042. <summary>
  4043. Generates a dynamic proxy type
  4044. that derives from the <paramref name="baseType" />
  4045. and implements the given <paramref name="baseInterfaces">interfaces</paramref>.
  4046. </summary>
  4047. <param name="baseType">The base class from which the generated dynamic proxy will be derived.</param>
  4048. <param name="baseInterfaces">The list of interfaces that the generated dynamic proxy will implement.</param>
  4049. <returns>A dynamic proxy type.</returns>
  4050. </member>
  4051. <member name="T:LinFu.Proxy.Interfaces.IMethodPicker">
  4052. <summary>
  4053. Represents a class that determines which methods should be proxied
  4054. by a given proxy factory.
  4055. </summary>
  4056. </member>
  4057. <member name="M:LinFu.Proxy.Interfaces.IMethodPicker.ChooseProxyMethodsFrom(System.Type,System.Collections.Generic.IEnumerable{System.Type})">
  4058. <summary>
  4059. Determines which methods should be proxied
  4060. by a given proxy factory.
  4061. </summary>
  4062. <param name="baseType">The base class of the proxy type currently being generated.</param>
  4063. <param name="baseInterfaces">The list of interfaces that the proxy must implement.</param>
  4064. <returns>A list of <see cref="T:System.Reflection.MethodInfo" /> objects that can be proxied.</returns>
  4065. </member>
  4066. <member name="T:LinFu.Proxy.Interfaces.IExtractInterfaces">
  4067. <summary>
  4068. A class that is responsible for determining
  4069. which interfaces a given type should implement.
  4070. </summary>
  4071. </member>
  4072. <member name="M:LinFu.Proxy.Interfaces.IExtractInterfaces.GetInterfaces(System.Type,System.Collections.Generic.HashSet{System.Type})">
  4073. <summary>
  4074. Determines which interfaces a given type should implement.
  4075. </summary>
  4076. <param name="currentType">The base type that holds the list of interfaces to implement.</param>
  4077. <param name="interfaces">The list of interfaces already being implemented. </param>
  4078. </member>
  4079. <member name="T:LinFu.Reflection.IActionLoader`2">
  4080. <summary>
  4081. Represents a class that can configure
  4082. a target of type <typeparamref name="TTarget" />
  4083. using an input type of <typeparamref name="TInput" />.
  4084. </summary>
  4085. <typeparam name="TTarget">The target type to configure.</typeparam>
  4086. <typeparam name="TInput">The input that will be used to configure the target.</typeparam>
  4087. </member>
  4088. <member name="M:LinFu.Reflection.IActionLoader`2.Load(`1)">
  4089. <summary>
  4090. Generates a set of <see cref="T:System.Action`1" /> instances
  4091. using the given <paramref name="input" />.
  4092. </summary>
  4093. <param name="input">The input that will be used to configure the target.</param>
  4094. <returns>A set of <see cref="T:System.Action`1" /> instances. This cannot be <c>null</c>.</returns>
  4095. </member>
  4096. <member name="M:LinFu.Reflection.IActionLoader`2.CanLoad(`1)">
  4097. <summary>
  4098. Determines if the PluginLoader can load the <paramref name="inputType" />.
  4099. </summary>
  4100. <param name="inputType">The target type that might contain the target <typeparamref name="TAttribute" /> instance.</param>
  4101. <returns>
  4102. <c>true</c> if the type can be loaded; otherwise, it returns <c>false</c>.</returns>
  4103. </member>
  4104. <member name="T:LinFu.Reflection.BasePluginLoader`2">
  4105. <summary>
  4106. Implements the basic functionality of a plugin loader.
  4107. </summary>
  4108. <typeparam name="TTarget">The target type being configured.</typeparam>
  4109. <typeparam name="TAttribute">The attribute type that will be used to mark a type as a plugin.</typeparam>
  4110. </member>
  4111. <member name="M:LinFu.Reflection.BasePluginLoader`2.CanLoad(System.Type)">
  4112. <summary>
  4113. Determines if the plugin loader can load the <paramref name="inputType" />.
  4114. </summary>
  4115. <param name="inputType">The target type that might contain the target <typeparamref name="TAttribute" /> instance.</param>
  4116. <returns>
  4117. <c>true</c> if the type can be loaded; otherwise, it returns <c>false</c>.</returns>
  4118. </member>
  4119. <member name="M:LinFu.Reflection.BasePluginLoader`2.Load(System.Type)">
  4120. <summary>
  4121. Generates a set of <see cref="T:System.Action`1" /> instances
  4122. using the given <paramref name="input" />.
  4123. </summary>
  4124. <param name="input">The input that will be used to configure the target.</param>
  4125. <returns>A set of <see cref="T:System.Action`1" /> instances. This cannot be <c>null</c>.</returns>
  4126. </member>
  4127. <member name="T:LinFu.Reflection.ILoaderPlugin`1">
  4128. <summary>
  4129. Represents a component that can monitor
  4130. a target instance as it loads.
  4131. </summary>
  4132. <typeparam name="TTarget">The target instance type.</typeparam>
  4133. </member>
  4134. <member name="M:LinFu.Reflection.ILoaderPlugin`1.BeginLoad(`0)">
  4135. <summary>
  4136. Signals the beginning of a load.
  4137. </summary>
  4138. <param name="target">The target being loaded.</param>
  4139. </member>
  4140. <member name="M:LinFu.Reflection.ILoaderPlugin`1.EndLoad(`0)">
  4141. <summary>
  4142. Signals the end of a load.
  4143. </summary>
  4144. <param name="target">The target being loaded.</param>
  4145. </member>
  4146. <member name="T:LinFu.Reflection.IDirectoryListing">
  4147. <summary>
  4148. Represents a class that can list the files
  4149. in a given directory.
  4150. </summary>
  4151. </member>
  4152. <member name="M:LinFu.Reflection.IDirectoryListing.GetFiles(System.String,System.String)">
  4153. <summary>
  4154. Returns the names of the files in the specified directory
  4155. that match the specified search pattern.
  4156. </summary>
  4157. <param name="path">The directory to search.</param>
  4158. <param name="searchPattern">The search string to match against the names of the files in the <paramref name="path" />.</param>
  4159. <returns>The list of files that match the <paramref name="path" /> and <paramref name="searchPattern" /></returns>
  4160. </member>
  4161. <member name="T:LinFu.Reflection.DefaultDirectoryLister">
  4162. <summary>
  4163. A class that lists the contents of a given directory.
  4164. </summary>
  4165. </member>
  4166. <member name="M:LinFu.Reflection.DefaultDirectoryLister.GetFiles(System.String,System.String)">
  4167. <summary>
  4168. Returns a list of files that match the <paramref name="searchPattern" />
  4169. from the given directory <paramref name="path" />.
  4170. </summary>
  4171. <param name="path">The target directory to search.</param>
  4172. <param name="searchPattern">The search string to match against the names of the files in the <paramref name="path" />.</param>
  4173. <returns>The list of files that match the <paramref name="path" /> and <paramref name="searchPattern" /></returns>
  4174. </member>
  4175. <member name="T:LinFu.Reflection.Runtime">
  4176. <summary>
  4177. Adds helper methods that return information about the current
  4178. runtime.
  4179. </summary>
  4180. </member>
  4181. <member name="P:LinFu.Reflection.Runtime.IsRunningOnMono">
  4182. <summary>
  4183. Gets a value indicating if the application is
  4184. currently running on the Mono platform.
  4185. </summary>
  4186. </member>
  4187. <member name="T:LinFu.Reflection.Plugins.BaseLoaderPlugin`1">
  4188. <summary>
  4189. A class that implements the basic functionality of
  4190. a loader plugin.
  4191. </summary>
  4192. <typeparam name="TTarget">The type being loaded.</typeparam>
  4193. </member>
  4194. <member name="M:LinFu.Reflection.Plugins.BaseLoaderPlugin`1.BeginLoad(`0)">
  4195. <summary>
  4196. Signals the beginning of a load.
  4197. </summary>
  4198. <param name="target">The target being loaded.</param>
  4199. </member>
  4200. <member name="M:LinFu.Reflection.Plugins.BaseLoaderPlugin`1.EndLoad(`0)">
  4201. <summary>
  4202. Signals the end of a load.
  4203. </summary>
  4204. <param name="target">The target being loaded.</param>
  4205. </member>
  4206. <member name="T:LinFu.Reflection.IInitialize`1">
  4207. <summary>
  4208. Represents classes that need to be initialized
  4209. every time a particular
  4210. instance creates that type.
  4211. </summary>
  4212. </member>
  4213. <member name="M:LinFu.Reflection.IInitialize`1.Initialize(`0)">
  4214. <summary>
  4215. Initializes the target with the
  4216. particular <typeparamref name="T" /> instance.
  4217. </summary>
  4218. <param name="source">The <typeparamref name="T" /> instance that will hold the target type.</param>
  4219. </member>
  4220. <member name="T:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`1">
  4221. <summary>
  4222. A plugin class that provides the basic implementation
  4223. for plugins that work with <see cref="T:LinFu.Reflection.IAssemblyTargetLoader`1" /> instances.
  4224. </summary>
  4225. <typeparam name="TTarget">The target type being configured.</typeparam>
  4226. </member>
  4227. <member name="M:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`1.Initialize(LinFu.Reflection.ILoader{`0})">
  4228. <summary>
  4229. Searches the loader for an <see cref="T:LinFu.Reflection.IAssemblyTargetLoader`1" />
  4230. instance and uses its derived classes to initialize
  4231. the assembly target loader.
  4232. </summary>
  4233. <param name="source">The <see cref="T:LinFu.Reflection.ILoader`1" /> instance that will hold the plugin.</param>
  4234. </member>
  4235. <member name="M:LinFu.Reflection.Plugins.BaseTargetLoaderPlugin`1.Initialize(LinFu.Reflection.ILoader{`0},LinFu.Reflection.IAssemblyTargetLoader{`0})">
  4236. <summary>
  4237. Initializes the <paramref name="loader" /> instance
  4238. with the given <paramref name="assemblyLoader" /> instance.
  4239. </summary>
  4240. <param name="loader">The loader being configured.</param>
  4241. <param name="assemblyLoader">The assembly loader that will load the types into the loader itself.</param>
  4242. </member>
  4243. <member name="T:LinFu.Reflection.AssemblyActionLoader`1">
  4244. <summary>
  4245. A class that reads an assembly and converts it into a set of actions
  4246. that can be used to build the list of actions against the <typeparamref name="TTarget" />
  4247. type.
  4248. </summary>
  4249. <typeparam name="TTarget">The target type.</typeparam>
  4250. </member>
  4251. <member name="M:LinFu.Reflection.AssemblyActionLoader`1.#ctor(System.Func{System.Collections.Generic.IList{LinFu.Reflection.IActionLoader{`0,System.Type}}})">
  4252. <summary>
  4253. Initializes the class with a set of <see cref="T:LinFu.Reflection.IActionLoader`2" />
  4254. instances that will be used to load the target assembly.
  4255. </summary>
  4256. <param name="getTypeLoaders">The delegate that will return the actual list of typeloaders.</param>
  4257. </member>
  4258. <member name="M:LinFu.Reflection.AssemblyActionLoader`1.Load(System.Reflection.Assembly)">
  4259. <summary>
  4260. Loads the target assembly and creates an action that can
  4261. create the list of actions which will modify the <typeparamref name="TTarget" /> instance.
  4262. </summary>
  4263. <param name="input">The target assembly.</param>
  4264. <returns>The list of actions which will modify the list of actions that will be executed against the <typeparamref name="TTarget" /> instance.</returns>
  4265. </member>
  4266. <member name="M:LinFu.Reflection.AssemblyActionLoader`1.CanLoad(System.Reflection.Assembly)">
  4267. <summary>
  4268. Determines if an <see cref="T:System.Reflection.Assembly" /> instance can be loaded.
  4269. </summary>
  4270. <param name="assembly">The target assembly.</param>
  4271. <returns>Returns <c>true</c> if the assembly is not <c>null</c>.</returns>
  4272. </member>
  4273. <member name="M:LinFu.Reflection.AssemblyActionLoader`1.CreateActionsFrom(System.Reflection.Assembly,System.Collections.Generic.IList{System.Action{`0}})">
  4274. <summary>
  4275. Generates a list of actions from a target assemby.
  4276. </summary>
  4277. <param name="assembly">The target assembly.</param>
  4278. <param name="resultList">The list that will store the resulting actions.</param>
  4279. </member>
  4280. <member name="M:LinFu.Reflection.AssemblyActionLoader`1.LoadResultsFromType(System.Type,System.Collections.Generic.ICollection{System.Action{`0}})">
  4281. <summary>
  4282. Generates the list of <see cref="T:System.Action`1" />
  4283. instances which will be used to configure a target instance.
  4284. </summary>
  4285. <param name="type">The <see cref="T:System.Type" /> instance that holds the configuration information.</param>
  4286. <param name="results">The list that will hold the actions which will configure the container.</param>
  4287. </member>
  4288. <member name="P:LinFu.Reflection.AssemblyActionLoader`1.TypeExtractor">
  4289. <summary>
  4290. The <see cref="T:LinFu.Reflection.ITypeExtractor" /> instance that will
  4291. determine which types will be extracted from an assembly.
  4292. </summary>
  4293. </member>
  4294. <member name="T:LinFu.Reflection.IAssemblyTargetLoader`1">
  4295. <summary>
  4296. Represents a specific <see cref="T:LinFu.Reflection.IActionLoader`2" />
  4297. type that can load configuration information from an assembly
  4298. and apply it to a <typeparamref name="TTarget" /> instance.
  4299. </summary>
  4300. <typeparam name="TTarget">The target type to configure.</typeparam>
  4301. </member>
  4302. <member name="P:LinFu.Reflection.IAssemblyTargetLoader`1.AssemblyLoader">
  4303. <summary>
  4304. The <see cref="T:LinFu.Reflection.IAssemblyLoader" /> instance that will load
  4305. the target assemblies.
  4306. </summary>
  4307. </member>
  4308. <member name="P:LinFu.Reflection.IAssemblyTargetLoader`1.TypeLoaders">
  4309. <summary>
  4310. The list of ActionLoaders that will be used to
  4311. configure the target.
  4312. </summary>
  4313. </member>
  4314. <member name="T:LinFu.Reflection.AssemblyTargetLoader`1">
  4315. <summary>
  4316. Represents a loader class that takes <see cref="T:System.Type" />
  4317. instances as input and generates <see cref="T:System.Action`1" />
  4318. instances that can be used to configure a <typeparamref name="TTarget" />
  4319. instance.
  4320. </summary>
  4321. <typeparam name="TTarget">The target type to configure.</typeparam>
  4322. </member>
  4323. <member name="M:LinFu.Reflection.AssemblyTargetLoader`1.#ctor">
  4324. <summary>
  4325. Initializes the class with the default property values.
  4326. </summary>
  4327. </member>
  4328. <member name="M:LinFu.Reflection.AssemblyTargetLoader`1.CanLoad(System.String)">
  4329. <summary>
  4330. Determines whether or not the current type loader
  4331. instance can load the current file type.
  4332. </summary>
  4333. <remarks>
  4334. This class only loads assemblies with the ".dll" extension.
  4335. </remarks>
  4336. <param name="filename">The filename and full path of the target file.</param>
  4337. <returns>Returns <c>true</c> if the file can be loaded; otherwise, the result is <c>false</c>.</returns>
  4338. </member>
  4339. <member name="M:LinFu.Reflection.AssemblyTargetLoader`1.Load(System.String)">
  4340. <summary>
  4341. Reads an input file using the given <paramref name="filename" />
  4342. and converts it into a set of <see cref="T:System.Action`1" />
  4343. instances that can be applied to a target class instance..
  4344. </summary>
  4345. <remarks>This class can only load valid .NET Assemblies.</remarks>
  4346. <param name="filename">The target file to be loaded.</param>
  4347. <returns>A set of <see cref="T:System.Action`1" /> instances to apply to a target type.</returns>
  4348. </member>
  4349. <member name="P:LinFu.Reflection.AssemblyTargetLoader`1.AssemblyLoader">
  4350. <summary>
  4351. The <see cref="T:LinFu.Reflection.IAssemblyLoader" /> instance that will load
  4352. the target assemblies.
  4353. </summary>
  4354. </member>
  4355. <member name="P:LinFu.Reflection.AssemblyTargetLoader`1.AssemblyActionLoader">
  4356. <summary>
  4357. Gets or sets the value indicating the action loader
  4358. responsible for reading an assembly and converting it to
  4359. a list of actions to be performed against the target type.
  4360. </summary>
  4361. </member>
  4362. <member name="P:LinFu.Reflection.AssemblyTargetLoader`1.TypeLoaders">
  4363. <summary>
  4364. The list of ActionLoaders that will be used to
  4365. configure the target.
  4366. </summary>
  4367. </member>
  4368. <member name="T:LinFu.Reflection.PluginLoader`2">
  4369. <summary>
  4370. Represents a loader class that can load
  4371. <see cref="T:LinFu.Reflection.ILoaderPlugin`1" /> instances
  4372. marked with a particular <typeparamref name="TAttribute" />
  4373. type.
  4374. </summary>
  4375. <typeparam name="TTarget">The target type being configured.</typeparam>
  4376. <typeparam name="TAttribute">The attribute type that marks a type as a plugin type.</typeparam>
  4377. </member>
  4378. <member name="M:LinFu.Reflection.PluginLoader`2.CanLoad(System.Type)">
  4379. <summary>
  4380. Determines if the plugin loader can load the <paramref name="inputType" />.
  4381. </summary>
  4382. <remarks>The target type must implement <see cref="T:LinFu.Reflection.ILoaderPlugin`1" /> before it can be loaded.</remarks>
  4383. <param name="inputType">The target type that might contain the target <typeparamref name="TAttribute" /> instance.</param>
  4384. <returns>
  4385. <c>true</c> if the type can be loaded; otherwise, it returns <c>false</c>.</returns>
  4386. </member>
  4387. <member name="M:LinFu.Reflection.PluginLoader`2.Load(System.Type)">
  4388. <summary>
  4389. Loads a set of actions from a <see cref="T:System.Type" />
  4390. instance.
  4391. </summary>
  4392. <param name="input">The target type to scan.</param>
  4393. <returns>A set of actions which will be applied to the target <see cref="T:LinFu.Reflection.ILoader`1" /> instance.</returns>
  4394. </member>
  4395. <member name="T:LinFu.Reflection.IAssemblyLoader">
  4396. <summary>
  4397. Represents a class that loads assemblies into memory
  4398. from disk.
  4399. </summary>
  4400. </member>
  4401. <member name="M:LinFu.Reflection.IAssemblyLoader.Load(System.String)">
  4402. <summary>
  4403. Loads the target assembly into memory.
  4404. </summary>
  4405. <param name="assemblyFile">The full path and filename of the assembly to load.</param>
  4406. <returns>A loaded <see cref="T:System.Reflection.Assembly" /> instance.</returns>
  4407. </member>
  4408. <member name="T:LinFu.Reflection.ITypeExtractor">
  4409. <summary>
  4410. Represents a type that can extract <see cref="T:System.Type" />
  4411. objects from an <see cref="T:System.Reflection.Assembly" /> instance.
  4412. </summary>
  4413. </member>
  4414. <member name="M:LinFu.Reflection.ITypeExtractor.GetTypes(System.Reflection.Assembly)">
  4415. <summary>
  4416. Returns a set of types from a given assembly.
  4417. </summary>
  4418. <param name="targetAssembly">The <see cref="T:System.Reflection.Assembly" /> that contains the target types.</param>
  4419. <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1" /> of types from the target assembly.</returns>
  4420. </member>
  4421. <member name="T:LinFu.Reflection.AssemblyLoader">
  4422. <summary>
  4423. Represents a class that loads assemblies into memory
  4424. from disk.
  4425. </summary>
  4426. </member>
  4427. <member name="M:LinFu.Reflection.AssemblyLoader.Load(System.String)">
  4428. <summary>
  4429. Loads the target assembly into memory.
  4430. </summary>
  4431. <param name="assemblyFile">The full path and filename of the assembly to load.</param>
  4432. <returns>A loaded <see cref="T:System.Reflection.Assembly" /> instance.</returns>
  4433. </member>
  4434. <member name="T:LinFu.Reflection.LoaderPluginAttribute">
  4435. <summary>
  4436. Marks a class as a loader plugin type.
  4437. </summary>
  4438. </member>
  4439. <member name="T:LinFu.Reflection.ILoader`1">
  4440. <summary>
  4441. Represents a generic interface for an abstract loader
  4442. that can read configuration information from disk
  4443. and apply it to a <typeparamref name="TTarget" /> instance.
  4444. </summary>
  4445. <typeparam name="TTarget">The class type being configured.</typeparam>
  4446. </member>
  4447. <member name="M:LinFu.Reflection.ILoader`1.LoadDirectory(System.String,System.String)">
  4448. <summary>
  4449. Loads the configuration using the files listed in
  4450. the target <paramref name="directory" /> that match
  4451. the given <paramref name="filespec">file pattern</paramref>.
  4452. </summary>
  4453. <param name="directory">The full path of the location to scan.</param>
  4454. <param name="filespec">The wildcard file pattern string to use when specifying the target files.</param>
  4455. </member>
  4456. <member name="M:LinFu.Reflection.ILoader`1.LoadInto(`0)">
  4457. <summary>
  4458. Configures the <paramref name="target" /> instance
  4459. using the configuration currently loaded from disk.
  4460. </summary>
  4461. <param name="target">The <typeparamref name="TTarget" /> instance to be configured.</param>
  4462. </member>
  4463. <member name="M:LinFu.Reflection.ILoader`1.Reset">
  4464. <summary>
  4465. Clears the currently loaded configuration
  4466. and resets the loader back to its defaults.
  4467. </summary>
  4468. </member>
  4469. <member name="P:LinFu.Reflection.ILoader`1.Plugins">
  4470. <summary>
  4471. The list of <see cref="T:LinFu.Reflection.ILoaderPlugin`1" />
  4472. instances that will be used to
  4473. signal the beginning and end of the
  4474. load sequence.
  4475. </summary>
  4476. </member>
  4477. <member name="P:LinFu.Reflection.ILoader`1.FileLoaders">
  4478. <summary>
  4479. The list of <see cref="T:LinFu.Reflection.IActionLoader`2" />
  4480. instances responsible for configuring the <typeparamref name="TTarget" /> instance.
  4481. </summary>
  4482. </member>
  4483. <member name="P:LinFu.Reflection.ILoader`1.DirectoryLister">
  4484. <summary>
  4485. Gets or sets the <see cref="T:LinFu.Reflection.IDirectoryListing" /> instance
  4486. responsible for returning a list of filenames
  4487. to the loader for processing.
  4488. </summary>
  4489. </member>
  4490. <member name="P:LinFu.Reflection.ILoader`1.CustomLoaderActions">
  4491. <summary>
  4492. The custom list of actions that will be
  4493. performed prior to the beginning of a load operation.
  4494. </summary>
  4495. </member>
  4496. <member name="P:LinFu.Reflection.ILoader`1.QueuedActions">
  4497. <summary>
  4498. The list of actions that will execute
  4499. every time a target instance is configured.
  4500. </summary>
  4501. </member>
  4502. <member name="T:LinFu.Reflection.TypeExtractor">
  4503. <summary>
  4504. Represents a type that can extract <see cref="T:System.Type" />
  4505. objects from an <see cref="T:System.Reflection.Assembly" /> instance.
  4506. </summary>
  4507. </member>
  4508. <member name="M:LinFu.Reflection.TypeExtractor.GetTypes(System.Reflection.Assembly)">
  4509. <summary>
  4510. Returns a set of types from a given assembly.
  4511. </summary>
  4512. <param name="targetAssembly">The <see cref="T:System.Reflection.Assembly" /> that contains the target types.</param>
  4513. <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1" /> of types from the target assembly.</returns>
  4514. </member>
  4515. <member name="T:LinFu.Reflection.Loader`1">
  4516. <summary>
  4517. Represents a generic loader class that can
  4518. load multiple <see cref="T:System.Action`1" /> delegates from multiple files and
  4519. apply them to a particular <typeparamref name="TTarget" /> instance.
  4520. </summary>
  4521. <typeparam name="TTarget">
  4522. </typeparam>
  4523. </member>
  4524. <member name="M:LinFu.Reflection.Loader`1.#ctor">
  4525. <summary>
  4526. Initializes the target with the default settings.
  4527. </summary>
  4528. </member>
  4529. <member name="M:LinFu.Reflection.Loader`1.LoadDirectory(System.String,System.String)">
  4530. <summary>
  4531. Loads the container with the files listed in
  4532. the target <paramref name="directory" /> that match
  4533. the given <paramref name="filespec">file pattern</paramref>.
  4534. </summary>
  4535. <param name="directory">The full path of the location to scan.</param>
  4536. <param name="filespec">The wildcard file pattern string to use when specifying the target files.</param>
  4537. </member>
  4538. <member name="M:LinFu.Reflection.Loader`1.LoadInto(`0)">
  4539. <summary>
  4540. Loads the current configuration into the <paramref name="target" />
  4541. instance.
  4542. </summary>
  4543. <param name="target">
  4544. </param>
  4545. </member>
  4546. <member name="M:LinFu.Reflection.Loader`1.Reset">
  4547. <summary>
  4548. Clears the currently loaded configuration
  4549. and resets the loader back to its defaults.
  4550. </summary>
  4551. </member>
  4552. <member name="M:LinFu.Reflection.Loader`1.Load(System.String)">
  4553. <summary>
  4554. Loads the <paramref name="currentFile">current file</paramref>
  4555. using the list of associated <see cref="P:LinFu.Reflection.Loader`1.FileLoaders" />.
  4556. </summary>
  4557. <param name="currentFile">The full path and filename being loaded.</param>
  4558. </member>
  4559. <member name="P:LinFu.Reflection.Loader`1.QueuedActions">
  4560. <summary>
  4561. The list of actions that will execute
  4562. every time a target instance is configured.
  4563. </summary>
  4564. </member>
  4565. <member name="P:LinFu.Reflection.Loader`1.CustomLoaderActions">
  4566. <summary>
  4567. The custom list of actions that will be
  4568. performed prior to the beginning of the first load operation.
  4569. </summary>
  4570. <remarks>
  4571. These actions will be performed only once per reset.
  4572. </remarks>
  4573. </member>
  4574. <member name="P:LinFu.Reflection.Loader`1.Plugins">
  4575. <summary>
  4576. The list of <see cref="T:LinFu.Reflection.ILoaderPlugin`1" />
  4577. instances that will be used to
  4578. signal the beginning and end of the
  4579. load sequence.
  4580. </summary>
  4581. </member>
  4582. <member name="P:LinFu.Reflection.Loader`1.FileLoaders">
  4583. <summary>
  4584. The list of <see cref="T:LinFu.Reflection.IActionLoader`2" />
  4585. instances responsible for configuring the target instance.
  4586. </summary>
  4587. </member>
  4588. <member name="P:LinFu.Reflection.Loader`1.DirectoryLister">
  4589. <summary>
  4590. Gets or sets the <see cref="T:LinFu.Reflection.IDirectoryListing" /> instance
  4591. responsible for returning a list of filenames
  4592. to the loader for processing.
  4593. </summary>
  4594. </member>
  4595. <member name="T:LinFu.Reflection.CollectionExtensions">
  4596. <summary>
  4597. Adds additional support methods to the standard System.Collection classes.
  4598. </summary>
  4599. </member>
  4600. <member name="M:LinFu.Reflection.CollectionExtensions.HasElementWith``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Boolean})">
  4601. <summary>
  4602. Determines whether or not an element exists that matches the given
  4603. <paramref name="predicate" />.
  4604. </summary>
  4605. <typeparam name="T">The element type.</typeparam>
  4606. <param name="items">The list of items being searched.</param>
  4607. <param name="predicate">The predicate that will be used to describe the matching items.</param>
  4608. <returns>Returns <c>true</c> if at least one match is found; otherwise, it will return <c>false</c>.</returns>
  4609. </member>
  4610. <member name="T:LinFu.Reflection.Emit.TypeDefinitionExtensions">
  4611. <summary>
  4612. A class that extends the <see cref="T:Mono.Cecil.TypeDefinition" />
  4613. class with features similar to the features in the
  4614. System.Reflection.Emit namespace.
  4615. </summary>
  4616. </member>
  4617. <member name="M:LinFu.Reflection.Emit.TypeDefinitionExtensions.DefineMethod(Mono.Cecil.TypeDefinition,System.String,Mono.Cecil.MethodAttributes,Mono.Cecil.MethodCallingConvention,System.Type,System.Type[])">
  4618. <summary>
  4619. Adds a new method to the <paramref name="typeDef">target type</paramref>.
  4620. </summary>
  4621. <param name="typeDef">The type that will hold the newly-created method.</param>
  4622. <param name="attributes">The <see cref="T:Mono.Cecil.MethodAttributes" /> parameter that describes the characteristics of the method.</param>
  4623. <param name="methodName">The name to be given to the new method.</param>
  4624. <param name="returnType">The method return type.</param>
  4625. <param name="callingConvention">The calling convention of the method being created.</param>
  4626. <param name="parameterTypes">The list of argument types that will be used to define the method signature.</param>
  4627. <returns>A <see cref="T:Mono.Cecil.MethodDefinition" /> instance that represents the newly-created method.</returns>
  4628. </member>
  4629. <member name="M:LinFu.Reflection.Emit.TypeDefinitionExtensions.DefineMethod(Mono.Cecil.TypeDefinition,System.String,Mono.Cecil.MethodAttributes,System.Type,System.Type[])">
  4630. <summary>
  4631. Adds a new method to the <paramref name="typeDef">target type</paramref>.
  4632. </summary>
  4633. <param name="typeDef">The type that will hold the newly-created method.</param>
  4634. <param name="attributes">The <see cref="T:Mono.Cecil.MethodAttributes" /> parameter that describes the characteristics of the method.</param>
  4635. <param name="methodName">The name to be given to the new method.</param>
  4636. <param name="returnType">The method return type.</param>
  4637. <param name="parameterTypes">The list of argument types that will be used to define the method signature.</param>
  4638. <returns>A <see cref="T:Mono.Cecil.MethodDefinition" /> instance that represents the newly-created method.</returns>
  4639. </member>
  4640. <member name="M:LinFu.Reflection.Emit.TypeDefinitionExtensions.AddDefaultConstructor(Mono.Cecil.TypeDefinition)">
  4641. <summary>
  4642. Adds a default constructor to the target type.
  4643. </summary>
  4644. <param name="targetType">The type that will contain the default constructor.</param>
  4645. </member>
  4646. <member name="M:LinFu.Reflection.Emit.TypeDefinitionExtensions.AddDefaultConstructor(Mono.Cecil.TypeDefinition,System.Type)">
  4647. <summary>
  4648. Adds a default constructor to the target type.
  4649. </summary>
  4650. <param name="parentType">The base class that contains the default constructor that will be used for constructor chaining..</param>
  4651. <param name="targetType">The type that will contain the default constructor.</param>
  4652. </member>
  4653. <member name="M:LinFu.Reflection.Emit.TypeDefinitionExtensions.AddProperty(Mono.Cecil.TypeDefinition,System.String,System.Type)">
  4654. <summary>
  4655. Adds a rewritable property to the <paramref name="typeDef">target type</paramref>.
  4656. </summary>
  4657. <param name="typeDef">The target type that will hold the newly-created property.</param>
  4658. <param name="propertyName">The name of the property itself.</param>
  4659. <param name="propertyType">The <see cref="T:System.Type" /> instance that describes the property type.</param>
  4660. </member>
  4661. <member name="M:LinFu.Reflection.Emit.TypeDefinitionExtensions.AddProperty(Mono.Cecil.TypeDefinition,System.String,Mono.Cecil.TypeReference)">
  4662. <summary>
  4663. Adds a rewritable property to the <paramref name="typeDef">target type</paramref>.
  4664. </summary>
  4665. <param name="typeDef">The target type that will hold the newly-created property.</param>
  4666. <param name="propertyName">The name of the property itself.</param>
  4667. <param name="propertyType">The <see cref="T:Mono.Cecil.TypeReference" /> instance that describes the property type.</param>
  4668. </member>
  4669. <member name="M:LinFu.Reflection.Emit.TypeDefinitionExtensions.AddProperty(Mono.Cecil.TypeDefinition,System.String,Mono.Cecil.TypeReference,Mono.Cecil.MethodDefinition,Mono.Cecil.MethodDefinition)">
  4670. <summary>
  4671. Adds a rewriteable property to the <paramref name="typeDef">target type</paramref>
  4672. using an existing <paramref name="getter" /> and <paramref name="setter" />.
  4673. </summary>
  4674. <param name="typeDef">The target type that will hold the newly-created property.</param>
  4675. <param name="propertyName">The name of the property itself.</param>
  4676. <param name="propertyType">The <see cref="T:Mono.Cecil.TypeReference" /> instance that describes the property type.</param>
  4677. <param name="getter">The property getter method.</param>
  4678. <param name="setter">The property setter method.</param>
  4679. </member>
  4680. <member name="M:LinFu.Reflection.Emit.TypeDefinitionExtensions.GetMethod(Mono.Cecil.TypeDefinition,System.String)">
  4681. <summary>
  4682. Retrieves the method that matches the given <paramref name="methodName" />.
  4683. </summary>
  4684. <param name="typeDef">The target type to search.</param>
  4685. <param name="methodName">The name of the target method.</param>
  4686. <returns>A method that matches the given <paramref name="methodName" />. If the method is not found, then it will return a <c>null</c> value. </returns>
  4687. </member>
  4688. <member name="M:LinFu.Reflection.Emit.TypeDefinitionExtensions.GetBackingField(System.String,Mono.Cecil.TypeDefinition,Mono.Cecil.TypeReference)">
  4689. <summary>
  4690. Resolves the backing field for a generic type declaration.
  4691. </summary>
  4692. <param name="fieldName">The name of the field to reference.</param>
  4693. <param name="typeDef">The type that holds the actual field.</param>
  4694. <param name="propertyType">The <see cref="T:Mono.Cecil.TypeReference" /> that describes the property type being referenced.</param>
  4695. <returns>A <see cref="T:Mono.Cecil.FieldReference" /> that points to the actual backing field.</returns>
  4696. </member>
  4697. <member name="M:LinFu.Reflection.Emit.TypeDefinitionExtensions.AddPropertyGetter(Mono.Cecil.TypeReference,System.String,Mono.Cecil.MethodAttributes,Mono.Cecil.FieldReference)">
  4698. <summary>
  4699. Creates a property getter method implementation with the
  4700. <paramref name="propertyType" /> as the return type.
  4701. </summary>
  4702. <param name="propertyType">Represents the <see cref="T:Mono.Cecil.TypeReference">return type</see> for the getter method.</param>
  4703. <param name="getterName">The getter method name.</param>
  4704. <param name="attributes">The method attributes associated with the getter method.</param>
  4705. <param name="backingField">The field that will store the instance that the getter method will retrieve.</param>
  4706. <returns>A <see cref="T:Mono.Cecil.MethodDefinition" /> representing the getter method itself.</returns>
  4707. </member>
  4708. <member name="M:LinFu.Reflection.Emit.TypeDefinitionExtensions.AddPropertySetter(Mono.Cecil.TypeReference,Mono.Cecil.MethodAttributes,Mono.Cecil.FieldReference,System.String,Mono.Cecil.TypeReference)">
  4709. <summary>
  4710. Creates a property setter method implementation with the
  4711. <paramref name="propertyType" /> as the setter parameter.
  4712. </summary>
  4713. <param name="propertyType">Represents the <see cref="T:Mono.Cecil.TypeReference">parameter type</see> for the setter method.</param>
  4714. <param name="attributes">The method attributes associated with the setter method.</param>
  4715. <param name="backingField">The field that will store the instance for the setter method.</param>
  4716. <param name="setterName">The method name of the setter method.</param>
  4717. <param name="voidType">The <see cref="T:Mono.Cecil.TypeReference" /> that represents <see cref="T:System.Void" />.</param>
  4718. <returns>A <see cref="T:Mono.Cecil.MethodDefinition" /> that represents the setter method itself.</returns>
  4719. </member>
  4720. <member name="T:LinFu.Reflection.Emit.AssemblyDefinitionExtensions">
  4721. <summary>
  4722. A class that adds extension methods to the <see cref="T:Mono.Cecil.AssemblyDefinition" />
  4723. class.
  4724. </summary>
  4725. </member>
  4726. <member name="M:LinFu.Reflection.Emit.AssemblyDefinitionExtensions.ToAssembly(Mono.Cecil.AssemblyDefinition)">
  4727. <summary>
  4728. Converts an <see cref="T:Mono.Cecil.AssemblyDefinition" />
  4729. into a running <see cref="T:System.Reflection.Assembly" />.
  4730. </summary>
  4731. <param name="definition">The <see cref="T:Mono.Cecil.AssemblyDefinition" /> to convert.</param>
  4732. <returns>An <see cref="T:System.Reflection.Assembly" /> that represents the <see cref="T:Mono.Cecil.AssemblyDefinition" /> instance.
  4733. </returns>
  4734. </member>
  4735. <member name="T:LinFu.Reflection.Emit.MethodDefinitionExtensions">
  4736. <summary>
  4737. A class that extends the <see cref="T:Mono.Cecil.MethodDefinition" />
  4738. class with features similar to the features in the
  4739. System.Reflection.Emit namespace.
  4740. </summary>
  4741. </member>
  4742. <member name="M:LinFu.Reflection.Emit.MethodDefinitionExtensions.GetILGenerator(Mono.Cecil.MethodDefinition)">
  4743. <summary>
  4744. Returns the <see cref="T:Mono.Cecil.Cil.CilWorker" /> instance
  4745. associated with the body of the <paramref name="method">target method</paramref>.
  4746. </summary>
  4747. <param name="method">The target method to be modified.</param>
  4748. <returns>The <see cref="T:Mono.Cecil.Cil.CilWorker" /> instance that points to the instructions of the method body.</returns>
  4749. </member>
  4750. <member name="M:LinFu.Reflection.Emit.MethodDefinitionExtensions.AddLocal(Mono.Cecil.MethodDefinition,System.Type)">
  4751. <summary>
  4752. Adds a <see cref="T:Mono.Cecil.Cil.VariableDefinition">local variable</see>
  4753. instance to the target <paramref name="methodDef">method definition</paramref>.
  4754. </summary>
  4755. <param name="methodDef">The <paramref name="methodDef" /> instance which will contain the local variable.</param>
  4756. <param name="localType">The object <see cref="T:System.Type">type</see> that describes the type of objects that will be stored by the local variable.</param>
  4757. <returns>A <see cref="T:Mono.Cecil.Cil.VariableDefinition" /> that represents the local variable itself.</returns>
  4758. </member>
  4759. <member name="M:LinFu.Reflection.Emit.MethodDefinitionExtensions.AddParameters(Mono.Cecil.MethodDefinition,System.Type[])">
  4760. <summary>
  4761. Adds a set of parameter types to the target <paramref name="method" />.
  4762. </summary>
  4763. <param name="method">The target method.</param>
  4764. <param name="parameterTypes">The list of types that describe the method signature.</param>
  4765. </member>
  4766. <member name="M:LinFu.Reflection.Emit.MethodDefinitionExtensions.SetReturnType(Mono.Cecil.MethodDefinition,System.Type)">
  4767. <summary>
  4768. Assigns the <paramref name="returnType" /> for the target method.
  4769. </summary>
  4770. <param name="method">The target method.</param>
  4771. <param name="returnType">The <see cref="T:System.Type" /> instance that describes the return type.</param>
  4772. </member>
  4773. <member name="M:LinFu.Reflection.Emit.MethodDefinitionExtensions.AddGenericParameter(Mono.Cecil.MethodDefinition,System.Type)">
  4774. <summary>
  4775. Adds a generic parameter type to the <paramref name="method" />.
  4776. </summary>
  4777. <param name="method">The target method.</param>
  4778. <param name="parameterType">The parameter type.</param>
  4779. <returns>A <see cref="T:Mono.Cecil.TypeReference" /> that represents the generic parameter type.</returns>
  4780. </member>
  4781. <member name="M:LinFu.Reflection.Emit.MethodDefinitionExtensions.AddLocal``1(Mono.Cecil.MethodDefinition)">
  4782. <summary>
  4783. Adds a <see cref="T:Mono.Cecil.Cil.VariableDefinition">local variable</see>
  4784. instance to the target <paramref name="methodDef">method definition</paramref>.
  4785. </summary>
  4786. <typeparam name="T">The object <see cref="T:System.Type">type</see> that describes the type of objects that will be stored by the local variable.</typeparam>
  4787. <param name="methodDef">The <paramref name="methodDef" /> instance which will contain the local variable.</param>
  4788. <returns>A <see cref="T:Mono.Cecil.Cil.VariableDefinition" /> that represents the local variable itself.</returns>
  4789. </member>
  4790. <member name="T:LinFu.Reflection.Emit.Interfaces.ITypeBuilder">
  4791. <summary>
  4792. Represents a type that can construct <see cref="T:Mono.Cecil.TypeDefinition" />
  4793. types.
  4794. </summary>
  4795. </member>
  4796. <member name="M:LinFu.Reflection.Emit.Interfaces.ITypeBuilder.Construct(Mono.Cecil.ModuleDefinition,Mono.Cecil.TypeDefinition)">
  4797. <summary>
  4798. Constructs a <paramref name="targetType" /> using
  4799. the given <see cref="T:Mono.Cecil.ModuleDefinition" /> instance.
  4800. </summary>
  4801. <param name="module">The module that will hold the actual type.</param>
  4802. <param name="targetType">The type being constructed.</param>
  4803. </member>
  4804. <member name="T:LinFu.Reflection.Emit.ModuleDefinitionExtensions">
  4805. <summary>
  4806. A class that provides helper extension methods
  4807. for the <see cref="T:Mono.Cecil.ModuleDefinition" /> class.
  4808. </summary>
  4809. </member>
  4810. <member name="M:LinFu.Reflection.Emit.ModuleDefinitionExtensions.DefineClass(Mono.Cecil.ModuleDefinition,System.String,System.String,Mono.Cecil.TypeAttributes,Mono.Cecil.TypeReference)">
  4811. <summary>
  4812. Defines a new class and adds it to the <paramref name="mainModule" /> module.
  4813. </summary>
  4814. <param name="mainModule">The module which will hold the new created type.</param>
  4815. <param name="typeName">The name of the class to create.</param>
  4816. <param name="namespaceName">The namespace that will contain the new class.</param>
  4817. <param name="attributes">The <see cref="T:Mono.Cecil.TypeAttributes" /> for the given type.</param>
  4818. <param name="baseType">The base class of the new type.</param>
  4819. <returns>A <see cref="T:Mono.Cecil.TypeDefinition" /> representing the new class being created.</returns>
  4820. </member>
  4821. <member name="M:LinFu.Reflection.Emit.ModuleDefinitionExtensions.ImportConstructor``1(Mono.Cecil.ModuleDefinition,System.Type[])">
  4822. <summary>
  4823. Imports a constructor with the given <paramref name="constructorParameters" />
  4824. into the target <paramref name="module" />.
  4825. </summary>
  4826. <typeparam name="T">The type that holds the target constructor</typeparam>
  4827. <param name="module">The <see cref="T:Mono.Cecil.ModuleDefinition" /> that will import the target constructor.</param>
  4828. <param name="constructorParameters">The list of <see cref="T:System.Type" /> objects that describe the signature of the constructor.</param>
  4829. <returns>A <see cref="T:Mono.Cecil.MethodReference" /> that represents the constructor itself.</returns>
  4830. </member>
  4831. <member name="M:LinFu.Reflection.Emit.ModuleDefinitionExtensions.ImportMethod(Mono.Cecil.ModuleDefinition,System.String,System.Type)">
  4832. <summary>
  4833. Imports a method with a particular <paramref name="methodName" /> from the <paramref name="declaringType" />
  4834. into the <paramref name="module">target module</paramref>.
  4835. </summary>
  4836. <param name="module">The <see cref="T:Mono.Cecil.ModuleDefinition" /> instance that will import the actual method.</param>
  4837. <param name="methodName">The name of the method being imported.</param>
  4838. <param name="declaringType">The <see cref="T:System.Type" /> instance that holds the target method.</param>
  4839. <returns>A <see cref="T:Mono.Cecil.MethodReference" /> that represents the method being imported.</returns>
  4840. </member>
  4841. <member name="M:LinFu.Reflection.Emit.ModuleDefinitionExtensions.ImportMethod(Mono.Cecil.ModuleDefinition,System.String,System.Type,System.Reflection.BindingFlags)">
  4842. <summary>
  4843. Imports a method with a particular <paramref name="methodName" /> and <see cref="T:System.Reflection.BindingFlags" /> from the <paramref name="declaringType" />
  4844. into the <paramref name="module">target module</paramref>.
  4845. </summary>
  4846. <param name="module">The <see cref="T:Mono.Cecil.ModuleDefinition" /> instance that will import the actual method.</param>
  4847. <param name="methodName">The name of the method being imported.</param>
  4848. <param name="declaringType">The <see cref="T:System.Type" /> instance that holds the target method.</param>
  4849. <param name="flags">The <see cref="T:System.Reflection.BindingFlags" /> that describes the visibility and behavior of the target method.</param>
  4850. <returns>A <see cref="T:Mono.Cecil.MethodReference" /> that represents the method being imported.</returns>
  4851. </member>
  4852. <member name="M:LinFu.Reflection.Emit.ModuleDefinitionExtensions.ImportMethod``1(Mono.Cecil.ModuleDefinition,System.String)">
  4853. <summary>
  4854. Imports a method with a particular <paramref name="methodName" /> and <see cref="T:System.Reflection.BindingFlags" /> from the <paramref name="declaringType" />
  4855. into the <paramref name="module">target module</paramref>.
  4856. </summary>
  4857. <typeparam name="T">The target type that holds the target method.</typeparam>
  4858. <param name="module">The <see cref="T:Mono.Cecil.ModuleDefinition" /> instance that will import the actual method.</param>
  4859. <param name="methodName">The name of the method being imported.</param>
  4860. <returns>A <see cref="T:Mono.Cecil.MethodReference" /> that represents the method being imported.</returns>
  4861. </member>
  4862. <member name="M:LinFu.Reflection.Emit.ModuleDefinitionExtensions.ImportMethod``1(Mono.Cecil.ModuleDefinition,System.String,System.Type[])">
  4863. <summary>
  4864. Imports a method with a particular <paramref name="methodName" />, <paramref name="parameterTypes" />, and <see cref="T:System.Reflection.BindingFlags" /> from the <paramref name="declaringType" />
  4865. into the <paramref name="module">target module</paramref>.
  4866. </summary>
  4867. <typeparam name="T">The target type that holds the target method.</typeparam>
  4868. <param name="parameterTypes">The list of <see cref="T:System.Type" /> objects that describe the method signature.</param>
  4869. <param name="module">The <see cref="T:Mono.Cecil.ModuleDefinition" /> instance that will import the actual method.</param>
  4870. <param name="methodName">The name of the method being imported.</param>
  4871. <returns>A <see cref="T:Mono.Cecil.MethodReference" /> that represents the method being imported.</returns>
  4872. </member>
  4873. <member name="M:LinFu.Reflection.Emit.ModuleDefinitionExtensions.ImportMethod``1(Mono.Cecil.ModuleDefinition,System.String,System.Reflection.BindingFlags)">
  4874. <summary>
  4875. Imports a method with a particular <paramref name="methodName" /> and <see cref="T:System.Reflection.BindingFlags" /> from the <paramref name="declaringType" />
  4876. into the <paramref name="module">target module</paramref>.
  4877. </summary>
  4878. <typeparam name="T">The target type that holds the target method itself.</typeparam>
  4879. <param name="module">The <see cref="T:Mono.Cecil.ModuleDefinition" /> instance that will import the actual method.</param>
  4880. <param name="methodName">The name of the method being imported.</param>
  4881. <param name="flags">The <see cref="T:System.Reflection.BindingFlags" /> that describes the visibility and behavior of the target method.</param>
  4882. <returns>A <see cref="T:Mono.Cecil.MethodReference" /> that represents the method being imported.</returns>
  4883. </member>
  4884. <member name="M:LinFu.Reflection.Emit.ModuleDefinitionExtensions.ImportType``1(Mono.Cecil.ModuleDefinition)">
  4885. <summary>
  4886. Imports a target of type <typeparamref name="T" /> into the
  4887. <paramref name="module" /> instance.
  4888. </summary>
  4889. <typeparam name="T">The type that will be imported into the <see cref="T:Mono.Cecil.ModuleDefinition" /> instance itself.</typeparam>
  4890. <param name="module">The module that will store the imported type.</param>
  4891. <returns>A <see cref="T:Mono.Cecil.TypeReference" /> instance that represents the imported type.</returns>
  4892. </member>
  4893. <member name="M:LinFu.Reflection.Emit.ModuleDefinitionExtensions.ImportType(Mono.Cecil.ModuleDefinition,System.Type)">
  4894. <summary>
  4895. Imports a <paramref name="targetType">target type</paramref> into the
  4896. <paramref name="module" /> instance.
  4897. </summary>
  4898. <param name="targetType">The type that will be imported into the <see cref="T:Mono.Cecil.ModuleDefinition" /> instance itself.</param>
  4899. <param name="module">The module that will store the imported type.</param>
  4900. <returns>A <see cref="T:Mono.Cecil.TypeDefinition" /> instance that represents the imported type.</returns>
  4901. </member>
  4902. <member name="M:LinFu.Reflection.Emit.ModuleDefinitionExtensions.GetType(Mono.Cecil.ModuleDefinition,System.String)">
  4903. <summary>
  4904. Returns a <see cref="T:Mono.Cecil.TypeDefinition" /> that matches the given <paramref name="typeName" />.
  4905. </summary>
  4906. <param name="module">The target module to search.</param>
  4907. <param name="typeName">The name of the target type.</param>
  4908. <returns>A type that matches the given type name. If the type cannot be found, then this method will return <c>null</c>.</returns>
  4909. </member>
  4910. <member name="T:LinFu.Reflection.Emit.CilWorkerExtensions">
  4911. <summary>
  4912. A class that extends the <see cref="T:Mono.Cecil.Cil.CilWorker" /> class
  4913. with helper methods that make it easier to save
  4914. information about the method currently being implemented.
  4915. </summary>
  4916. </member>
  4917. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.PushMethod(Mono.Cecil.Cil.CilWorker,Mono.Cecil.MethodReference,Mono.Cecil.ModuleDefinition)">
  4918. <summary>
  4919. Pushes the current <paramref name="method" /> onto the stack.
  4920. </summary>
  4921. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will be used to create the instructions.</param>
  4922. <param name="method">The method that represents the <see cref="T:System.Reflection.MethodInfo" /> that will be pushed onto the stack.</param>
  4923. <param name="module">The module that contains the host method.</param>
  4924. </member>
  4925. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.PushArguments(Mono.Cecil.Cil.CilWorker,Mono.Cecil.IMethodSignature,Mono.Cecil.ModuleDefinition,Mono.Cecil.Cil.VariableDefinition)">
  4926. <summary>
  4927. Pushes the arguments of a method onto the stack.
  4928. </summary>
  4929. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will be used to create the instructions.</param>
  4930. <param name="module">The module that contains the host method.</param>
  4931. <param name="method">The target method.</param>
  4932. <param name="arguments">The <see cref="T:Mono.Cecil.Cil.VariableDefinition">local variable</see> that will hold the array of arguments.</param>
  4933. </member>
  4934. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.PushStackTrace(Mono.Cecil.Cil.CilWorker,Mono.Cecil.ModuleDefinition)">
  4935. <summary>
  4936. Pushes the stack trace of the currently executing method onto the stack.
  4937. </summary>
  4938. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will be used to create the instructions.</param>
  4939. <param name="module">The module that contains the host method.</param>
  4940. </member>
  4941. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.PushGenericArguments(Mono.Cecil.Cil.CilWorker,Mono.Cecil.IGenericParameterProvider,Mono.Cecil.ModuleDefinition,Mono.Cecil.Cil.VariableDefinition)">
  4942. <summary>
  4943. Saves the generic type arguments that were used to construct the method.
  4944. </summary>
  4945. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will be used to create the instructions.</param>
  4946. <param name="method">The target method whose generic type arguments (if any) will be saved into the <paramref name="typeArguments">local variable</paramref>.</param>
  4947. <param name="module">The module that contains the host method.</param>
  4948. <param name="typeArguments">The local variable that will store the resulting array of <see cref="T:System.Type" /> objects.</param>
  4949. </member>
  4950. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.SaveParameterTypes(Mono.Cecil.Cil.CilWorker,Mono.Cecil.MethodDefinition,Mono.Cecil.ModuleDefinition,Mono.Cecil.Cil.VariableDefinition)">
  4951. <summary>
  4952. Saves the current method signature of a method into an array
  4953. of <see cref="T:System.Type" /> objects. This can be used to determine the
  4954. signature of methods with generic type parameters or methods that have
  4955. parameters that are generic parameters specified by the type itself.
  4956. </summary>
  4957. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will be used to create the instructions.</param>
  4958. <param name="method">The target method whose generic type arguments (if any) will be saved into the local variable .</param>
  4959. <param name="module">The module that contains the host method.</param>
  4960. <param name="parameterTypes">The local variable that will store the current method signature.</param>
  4961. </member>
  4962. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.PackageReturnValue(Mono.Cecil.Cil.CilWorker,Mono.Cecil.ModuleDefinition,Mono.Cecil.TypeReference)">
  4963. <summary>
  4964. Converts the return value of a method into the <paramref name="returnType">target type</paramref>.
  4965. If the target type is void, then the value will simply be popped from the stack.
  4966. </summary>
  4967. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will be used to create the instructions.</param>
  4968. <param name="module">The module that contains the host method.</param>
  4969. <param name="returnType">The method return type itself.</param>
  4970. </member>
  4971. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.Stind(Mono.Cecil.Cil.CilWorker,Mono.Cecil.TypeReference)">
  4972. <summary>
  4973. Emits the proper Stind (store indirect) IL instruction for the <paramref name="currentType" />.
  4974. </summary>
  4975. <param name="IL">The target <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will emit the IL.</param>
  4976. <param name="currentType">The type of data being stored.</param>
  4977. </member>
  4978. <member name="M:LinFu.Reflection.Emit.CilWorkerExtensions.PushParameter(Mono.Cecil.Cil.CilWorker,System.Int32,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.ParameterDefinition)">
  4979. <summary>
  4980. Stores the <paramref name="param">current parameter value</paramref>
  4981. into the array of method <paramref name="arguments" />.
  4982. </summary>
  4983. <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that will be used to create the instructions.</param>
  4984. <param name="arguments">The local variable that will store the method arguments.</param>
  4985. <param name="index">The array index that indicates where the parameter value will be stored in the array of arguments.</param>
  4986. <param name="param">The current argument value being stored.</param>
  4987. </member>
  4988. <member name="T:LinFu.Reflection.Emit.ParameterDefinitionExtensions">
  4989. <summary>
  4990. A class that extends the <see cref="T:Mono.Cecil.ParameterDefinition" /> class
  4991. to emulate features found in the System.Reflection.Emit namespace.
  4992. </summary>
  4993. </member>
  4994. <member name="M:LinFu.Reflection.Emit.ParameterDefinitionExtensions.IsByRef(Mono.Cecil.ParameterDefinition)">
  4995. <summary>
  4996. Determines whether or not a parameter is passed by reference.
  4997. </summary>
  4998. <param name="parameter">
  4999. </param>
  5000. <returns>
  5001. </returns>
  5002. </member>
  5003. </members>
  5004. </doc>