PageRenderTime 278ms CodeModel.GetById 14ms app.highlight 178ms RepoModel.GetById 1ms app.codeStats 6ms

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

http://github.com/philiplaureano/LinFu
XML | 8436 lines | 8423 code | 13 blank | 0 comment | 0 complexity | c010fdd14e81b65c4554b4252ba6761f MD5 | raw file
   1<?xml version="1.0"?>
   2<doc>
   3  <assembly>
   4    <name>LinFu.Core</name>
   5  </assembly>
   6  <members>
   7    <member name="T:LinFu.AOP.Cecil.Interfaces.IMethodBodyRewriter">
   8      <summary>
   9            Represents a type that can modify method bodies.
  10            </summary>
  11    </member>
  12    <member name="M:LinFu.AOP.Cecil.Interfaces.IMethodBodyRewriter.Rewrite(Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker,System.Collections.Generic.IEnumerable{Mono.Cecil.Cil.Instruction})">
  13      <summary>
  14            Rewrites a target method using the given CilWorker.
  15            </summary>
  16      <param name="method">The target method.</param>
  17      <param name="IL">The CilWorker that will be used to rewrite the target method.</param>
  18      <param name="oldInstructions">The original instructions from the target method body.</param>
  19    </member>
  20    <member name="T:LinFu.AOP.Cecil.Interfaces.IHostWeaver`1">
  21      <summary>
  22            Represents a weaver class that can modify its host.
  23            </summary>
  24      <typeparam name="THost">The host that holds the item to be modified.</typeparam>
  25    </member>
  26    <member name="M:LinFu.AOP.Cecil.Interfaces.IHostWeaver`1.ImportReferences(Mono.Cecil.ModuleDefinition)">
  27      <summary>
  28            Imports references into the target <see cref="T:Mono.Cecil.ModuleDefinition" /> instance.
  29            </summary>
  30      <param name="module">The module that will hold the modified item.</param>
  31    </member>
  32    <member name="M:LinFu.AOP.Cecil.Interfaces.IHostWeaver`1.AddAdditionalMembers(`0)">
  33      <summary>
  34            Adds additional members to the host type.
  35            </summary>
  36      <param name="host">The host that holds the current item being modified.</param>
  37    </member>
  38    <member name="T:LinFu.AOP.Cecil.Interfaces.IMethodRewriter">
  39      <summary>
  40            Represents a type that can modify method bodies.
  41            </summary>
  42    </member>
  43    <member name="M:LinFu.AOP.Cecil.Interfaces.IMethodRewriter.AddLocals(Mono.Cecil.MethodDefinition)">
  44      <summary>
  45            Adds local variables to the <paramref name="hostMethod" />.
  46            </summary>
  47      <param name="hostMethod">The target method.</param>
  48    </member>
  49    <member name="T:LinFu.AOP.Cecil.BaseMethodRewriter">
  50      <summary>
  51            Represents the basic implementation of a method rewriter class.
  52            </summary>
  53    </member>
  54    <member name="M:LinFu.AOP.Cecil.BaseMethodRewriter.Rewrite(Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker,System.Collections.Generic.IEnumerable{Mono.Cecil.Cil.Instruction})">
  55      <summary>
  56            Rewrites a target method using the given CilWorker.
  57            </summary>
  58      <param name="method">The target method.</param>
  59      <param name="IL">The CilWorker that will be used to rewrite the target method.</param>
  60      <param name="oldInstructions">The original instructions from the target method body.</param>
  61    </member>
  62    <member name="M:LinFu.AOP.Cecil.BaseMethodRewriter.AddAdditionalMembers(Mono.Cecil.TypeDefinition)">
  63      <summary>
  64            Adds additional members to the host type.
  65            </summary>
  66      <param name="host">The host type.</param>
  67    </member>
  68    <member name="M:LinFu.AOP.Cecil.BaseMethodRewriter.ImportReferences(Mono.Cecil.ModuleDefinition)">
  69      <summary>
  70            Adds additional references to the target module.
  71            </summary>
  72      <param name="module">The host module.</param>
  73    </member>
  74    <member name="M:LinFu.AOP.Cecil.BaseMethodRewriter.AddLocals(Mono.Cecil.MethodDefinition)">
  75      <summary>
  76            Adds local variables to the <paramref name="hostMethod" />.
  77            </summary>
  78      <param name="hostMethod">The target method.</param>
  79    </member>
  80    <member name="M:LinFu.AOP.Cecil.BaseMethodRewriter.ShouldRewrite(Mono.Cecil.MethodDefinition)">
  81      <summary>
  82            Determines whether or not the given method should be modified.
  83            </summary>
  84      <param name="targetMethod">The target method.</param>
  85      <returns>A <see cref="T:System.Boolean" /> indicating whether or not a method should be rewritten.</returns>
  86    </member>
  87    <member name="M:LinFu.AOP.Cecil.BaseMethodRewriter.RewriteMethodBody(Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker,System.Collections.Generic.IEnumerable{Mono.Cecil.Cil.Instruction})">
  88      <summary>
  89            Rewrites the instructions in the target method body.
  90            </summary>
  91      <param name="method">The target method.</param>
  92      <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> instance that represents the method body.</param>
  93      <param name="oldInstructions">The IL instructions of the original method body.</param>
  94    </member>
  95    <member name="T:LinFu.AOP.Cecil.CatchAllThrownExceptions">
  96      <summary>
  97            Represents a method rewriter that modifies a method body to support dynamic exception handling.
  98            </summary>
  99    </member>
 100    <member name="M:LinFu.AOP.Cecil.CatchAllThrownExceptions.ImportReferences(Mono.Cecil.ModuleDefinition)">
 101      <summary>
 102            Adds additional references to the target module.
 103            </summary>
 104      <param name="module">The host module.</param>
 105    </member>
 106    <member name="M:LinFu.AOP.Cecil.CatchAllThrownExceptions.AddLocals(Mono.Cecil.MethodDefinition)">
 107      <summary>
 108            Adds local variables to the <paramref name="hostMethod" />.
 109            </summary>
 110      <param name="hostMethod">The target method.</param>
 111    </member>
 112    <member name="M:LinFu.AOP.Cecil.CatchAllThrownExceptions.RewriteMethodBody(Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker,System.Collections.Generic.IEnumerable{Mono.Cecil.Cil.Instruction})">
 113      <summary>
 114            Rewrites the instructions in the target method body to support dynamic exception handling.
 115            </summary>
 116      <param name="targetMethod">The target method.</param>
 117      <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> instance that represents the method body.</param>
 118      <param name="oldInstructions">The IL instructions of the original method body.</param>
 119    </member>
 120    <member name="M:LinFu.AOP.Cecil.CatchAllThrownExceptions.SaveExceptionInfo(Mono.Cecil.MethodDefinition,LinFu.AOP.Cecil.Interfaces.IEmitInvocationInfo)">
 121      <summary>
 122            Saves the current <see cref="T:LinFu.AOP.Interfaces.IExceptionHandlerInfo" /> instance.
 123            </summary>
 124      <param name="targetMethod">The target method.</param>
 125      <param name="emitter">The <see cref="T:LinFu.AOP.Cecil.Interfaces.IEmitInvocationInfo" /> instance that will emit the current method context.</param>
 126    </member>
 127    <member name="T:LinFu.AOP.Cecil.Interfaces.IInstructionEmitter">
 128      <summary>
 129            Represents a type that is capable of manipulating instructions within a given method body.
 130            </summary>
 131    </member>
 132    <member name="M:LinFu.AOP.Cecil.Interfaces.IInstructionEmitter.Emit(Mono.Cecil.Cil.CilWorker)">
 133      <summary>
 134            Emits a set of instructions to the given <paramref name="IL">CilWorker</paramref>.
 135            </summary>
 136      <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> responsible for the target method body.</param>
 137    </member>
 138    <member name="T:LinFu.AOP.Cecil.AddMethodReplacementImplementation">
 139      <summary>
 140            Represents an instruction emitter that adds method body replacement support to a given method body.
 141            </summary>
 142    </member>
 143    <member name="M:LinFu.AOP.Cecil.AddMethodReplacementImplementation.#ctor(LinFu.AOP.Cecil.IMethodBodyRewriterParameters)">
 144      <summary>
 145            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.AddMethodReplacementImplementation" /> class.
 146            </summary>
 147      <param name="parameters">The set of parameters that describe the target method body.</param>
 148    </member>
 149    <member name="M:LinFu.AOP.Cecil.AddMethodReplacementImplementation.Emit(Mono.Cecil.Cil.CilWorker)">
 150      <summary>
 151            Adds method body interception to the target method.
 152            </summary>
 153      <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> pointing to the target method body.</param>
 154    </member>
 155    <member name="T:LinFu.AOP.Cecil.AddOriginalInstructions">
 156      <summary>
 157            Represents an instruction emitter that adds the original method instructions to a given method body.
 158            </summary>
 159    </member>
 160    <member name="M:LinFu.AOP.Cecil.AddOriginalInstructions.#ctor(System.Collections.Generic.IEnumerable{Mono.Cecil.Cil.Instruction},Mono.Cecil.Cil.Instruction)">
 161      <summary>
 162            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.AddOriginalInstructions" /> class.
 163            </summary>
 164      <param name="oldInstructions">The original method instructions.</param>
 165      <param name="endLabel">The instruction label that marks the end of the method body.</param>
 166    </member>
 167    <member name="M:LinFu.AOP.Cecil.AddOriginalInstructions.Emit(Mono.Cecil.Cil.CilWorker)">
 168      <summary>
 169            Adds the original instructions to a given method body.
 170            </summary>
 171      <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> responsible for the target method body.</param>
 172    </member>
 173    <member name="T:LinFu.AOP.Cecil.AssemblyDefinitionExtensions">
 174      <summary>
 175            A class that extends <see cref="T:Mono.Cecil.AssemblyDefinition" /> instances.
 176            </summary>
 177    </member>
 178    <member name="M:LinFu.AOP.Cecil.AssemblyDefinitionExtensions.RemoveStrongName(Mono.Cecil.AssemblyDefinition)">
 179      <summary>
 180            Removes the strong-name signature from the <paramref name="sourceAssembly" />.
 181            </summary>
 182      <param name="sourceAssembly">
 183      </param>
 184    </member>
 185    <member name="T:LinFu.AOP.Cecil.Extensions.CecilVisitorExtensions">
 186      <summary>
 187            A helper class that extends Cecil to support LinFu's weaver model.
 188            </summary>
 189    </member>
 190    <member name="M:LinFu.AOP.Cecil.Extensions.CecilVisitorExtensions.Accept(Mono.Cecil.IReflectionVisitable,LinFu.AOP.Cecil.Interfaces.ITypeWeaver)">
 191      <summary>
 192            Allows a <see cref="T:LinFu.AOP.Cecil.Interfaces.ITypeWeaver" /> instance to traverse any <see cref="T:Mono.Cecil.IReflectionVisitable" />
 193            instance.
 194            </summary>
 195      <param name="visitable">The visitable object.</param>
 196      <param name="typeWeaver">The type weaver.</param>
 197    </member>
 198    <member name="M:LinFu.AOP.Cecil.Extensions.CecilVisitorExtensions.Accept(Mono.Cecil.IReflectionStructureVisitable,LinFu.AOP.Cecil.Interfaces.ITypeWeaver)">
 199      <summary>
 200            Allows a <see cref="T:LinFu.AOP.Cecil.Interfaces.ITypeWeaver" /> instance to traverse any <see cref="T:Mono.Cecil.IReflectionStructureVisitable" />
 201            instance.
 202            </summary>
 203      <param name="visitable">The visitable object.</param>
 204      <param name="typeWeaver">The type weaver.</param>
 205    </member>
 206    <member name="M:LinFu.AOP.Cecil.Extensions.CecilVisitorExtensions.Accept(Mono.Cecil.IReflectionStructureVisitable,LinFu.AOP.Cecil.Interfaces.IMethodWeaver)">
 207      <summary>
 208            Allows a <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodWeaver" /> instance to traverse any <see cref="T:Mono.Cecil.IReflectionVisitable" />
 209            instance.
 210            </summary>
 211      <param name="visitable">The visitable object.</param>
 212      <param name="methodWeaver">The method weaver.</param>
 213    </member>
 214    <member name="M:LinFu.AOP.Cecil.Extensions.CecilVisitorExtensions.Accept(Mono.Cecil.IReflectionVisitable,LinFu.AOP.Cecil.Interfaces.IMethodWeaver)">
 215      <summary>
 216            Allows a <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodWeaver" /> instance to traverse any <see cref="T:Mono.Cecil.IReflectionVisitable" />
 217            instance.
 218            </summary>
 219      <param name="visitable">The visitable object.</param>
 220      <param name="methodWeaver">The method weaver.</param>
 221    </member>
 222    <member name="T:LinFu.AOP.Cecil.EmitAfterInvoke">
 223      <summary>
 224            Represents a type that emits the call to the <see cref="T:LinFu.AOP.Interfaces.IAfterInvoke" /> instance.
 225            </summary>
 226    </member>
 227    <member name="M:LinFu.AOP.Cecil.EmitAfterInvoke.#ctor(Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition)">
 228      <summary>
 229            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.EmitAfterInvoke" /> class.
 230            </summary>
 231      <param name="surroundingImplementation">The variable that contains the <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.</param>
 232      <param name="surroundingClassImplementation">The variable that contains the class-level <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.</param>
 233      <param name="invocationInfo">The variable that contains the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
 234      <param name="returnValue">The local vaiable that contains the return value of the target method.</param>
 235    </member>
 236    <member name="M:LinFu.AOP.Cecil.EmitAfterInvoke.Emit(Mono.Cecil.Cil.CilWorker)">
 237      <summary>
 238            Emits the call to the <see cref="T:LinFu.AOP.Interfaces.IAfterInvoke" /> instance.
 239            </summary>
 240      <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that points to the current method body.</param>
 241    </member>
 242    <member name="T:LinFu.AOP.Cecil.EmitBeforeInvoke">
 243      <summary>
 244            Represents a type that emits the call to the <see cref="T:LinFu.AOP.Interfaces.IBeforeInvoke" /> instance.
 245            </summary>
 246    </member>
 247    <member name="M:LinFu.AOP.Cecil.EmitBeforeInvoke.#ctor(Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,System.Type)">
 248      <summary>
 249            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.EmitBeforeInvoke" /> class.
 250            </summary>
 251      <param name="invocationInfo">The variable that contains the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
 252      <param name="surroundingClassImplementation">The variable that contains the class-level <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.</param>
 253      <param name="surroundingImplementation">The variable that contains the instance-level <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.</param>
 254      <param name="registryType">The interception registry type that will be responsible for handling class-level interception events.</param>
 255    </member>
 256    <member name="M:LinFu.AOP.Cecil.EmitBeforeInvoke.Emit(Mono.Cecil.Cil.CilWorker)">
 257      <summary>
 258            Emits the call to the <see cref="T:LinFu.AOP.Interfaces.IAfterInvoke" /> instance.
 259            </summary>
 260      <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that points to the current method body.</param>
 261    </member>
 262    <member name="T:LinFu.AOP.Cecil.ExceptionHandlerInfo">
 263      <summary>
 264            Represents a class that describes the context of a thrown exception.
 265            </summary>
 266    </member>
 267    <member name="M:LinFu.AOP.Cecil.ExceptionHandlerInfo.#ctor(System.Exception,LinFu.AOP.Interfaces.IInvocationInfo)">
 268      <summary>
 269            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.ExceptionHandlerInfo" /> class.
 270            </summary>
 271      <param name="ex">The thrown exception.</param>
 272      <param name="invocationInfo">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the context of the method call.</param>
 273    </member>
 274    <member name="P:LinFu.AOP.Cecil.ExceptionHandlerInfo.Exception">
 275      <summary>
 276            Gets the value indicating the thrown exception.
 277            </summary>
 278      <value>The thrown exception.</value>
 279    </member>
 280    <member name="P:LinFu.AOP.Cecil.ExceptionHandlerInfo.InvocationInfo">
 281      <summary>
 282            Gets the value indicating the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the context of the method
 283            that threw the exception.
 284            </summary>
 285      <value>The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</value>
 286    </member>
 287    <member name="P:LinFu.AOP.Cecil.ExceptionHandlerInfo.ReturnValue">
 288      <summary>
 289            Gets or sets the value indicating the return value that will be used in place of the original return value if 
 290            the exception is intercepted by an <see cref="T:LinFu.AOP.Interfaces.IExceptionHandler" /> instance.
 291            </summary>
 292      <value>The method return value.</value>
 293    </member>
 294    <member name="P:LinFu.AOP.Cecil.ExceptionHandlerInfo.ShouldSkipRethrow">
 295      <summary>
 296            Gets or sets the value indicating whether or not the exception should be rethrown after
 297            the <see cref="T:LinFu.AOP.Interfaces.IExceptionHandler" /> handles the given exception.
 298            </summary>
 299      <value>This should be <c>true</c> if the exception should be rethrown, otherwise, it must be <c>false</c>.</value>
 300    </member>
 301    <member name="T:LinFu.AOP.Cecil.Extensions.ExceptionHandlerInterceptionExtensions">
 302      <summary>
 303            Represents an extension class that adds support for intercepting exceptions thrown at runtime.
 304            </summary>
 305    </member>
 306    <member name="M:LinFu.AOP.Cecil.Extensions.ExceptionHandlerInterceptionExtensions.InterceptAllExceptions(Mono.Cecil.IReflectionVisitable)">
 307      <summary>
 308            Enables exception interception on the given type.
 309            </summary>
 310      <param name="visitable">The target type.</param>
 311    </member>
 312    <member name="M:LinFu.AOP.Cecil.Extensions.ExceptionHandlerInterceptionExtensions.InterceptAllExceptions(Mono.Cecil.IReflectionStructureVisitable)">
 313      <summary>
 314            Enables exception interception on the given type.
 315            </summary>
 316      <param name="visitable">The target type.</param>
 317    </member>
 318    <member name="M:LinFu.AOP.Cecil.Extensions.ExceptionHandlerInterceptionExtensions.InterceptExceptions(Mono.Cecil.IReflectionVisitable,LinFu.AOP.Cecil.Interfaces.IMethodFilter)">
 319      <summary>
 320            Enables exception interception on the given type.
 321            </summary>
 322      <param name="visitable">The target type.</param>
 323      <param name="methodFilter">The <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodFilter" /> instance that will determine which methods should support exception interception.</param>
 324    </member>
 325    <member name="M:LinFu.AOP.Cecil.Extensions.ExceptionHandlerInterceptionExtensions.InterceptExceptions(Mono.Cecil.IReflectionStructureVisitable,LinFu.AOP.Cecil.Interfaces.IMethodFilter)">
 326      <summary>
 327            Enables exception interception on the given type.
 328            </summary>
 329      <param name="visitable">The target type.</param>
 330      <param name="methodFilter">The <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodFilter" /> instance that will determine which methods should support exception interception.</param>
 331    </member>
 332    <member name="M:LinFu.AOP.Cecil.Extensions.ExceptionHandlerInterceptionExtensions.InterceptExceptions(Mono.Cecil.IReflectionStructureVisitable,System.Func{Mono.Cecil.MethodReference,System.Boolean})">
 333      <summary>
 334            Enables exception interception on the given type.
 335            </summary>
 336      <param name="visitable">The target type.</param>
 337      <param name="methodFilter">The method filter functor that will determine which methods should support exception interception.</param>
 338    </member>
 339    <member name="M:LinFu.AOP.Cecil.Extensions.ExceptionHandlerInterceptionExtensions.InterceptExceptions(Mono.Cecil.IReflectionVisitable,System.Func{Mono.Cecil.MethodReference,System.Boolean})">
 340      <summary>
 341            Enables exception interception on the given type.
 342            </summary>
 343      <param name="visitable">The target type.</param>
 344      <param name="methodFilter">The method filter functor that will determine which methods should support exception interception.</param>
 345    </member>
 346    <member name="T:LinFu.AOP.Cecil.Factories.AddInvocationInfoActionFactory">
 347      <summary>
 348            A factory instance that creates <see cref="T:System.Action`1" /> delegates
 349            that emit the necessary <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> information
 350            and store it in a local variable named '__invocationInfo___'.
 351            </summary>
 352    </member>
 353    <member name="M:LinFu.AOP.Cecil.Factories.AddInvocationInfoActionFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
 354      <summary>
 355            Generates the <see cref="T:System.Action`1" /> delegate that will emit
 356            the necessary <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> information.
 357            </summary>
 358      <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service type.</param>
 359      <returns>A delegate that can emit the necessary <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> context that will allow other developers to infer information about the method currently being executed.</returns>
 360    </member>
 361    <member name="T:LinFu.AOP.Cecil.Factories.AssemblyWeaverActionFactory">
 362      <summary>
 363            Represents a class that generates <see cref="T:System.Action`2" /> instances
 364            that apply a specific method weaver (with the name given in the first delegate parameter)
 365            to every type in every module of an <see cref="T:Mono.Cecil.AssemblyDefinition" /> instance.
 366            </summary>
 367    </member>
 368    <member name="M:LinFu.AOP.Cecil.Factories.AssemblyWeaverActionFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
 369      <summary>
 370            Generates <see cref="T:System.Action`2" /> instances
 371            that apply a specific method weaver (with the name given in the first delegate parameter)
 372            to every type in every module of an <see cref="T:Mono.Cecil.AssemblyDefinition" /> instance.
 373            </summary>
 374      <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> that describes the service request.</param>
 375      <returns>An action delegate that will apply a specific method weaver to all the types in the given assembly.</returns>
 376    </member>
 377    <member name="T:LinFu.AOP.Cecil.Factories.TypeWeaverActionFactory">
 378      <summary>
 379            Represents a class that generates <see cref="T:System.Action`2" /> instances
 380            that apply a specific method weaver (with the name given in the first delegate parameter)
 381            to a specific <see cref="T:Mono.Cecil.TypeDefinition" /> instance.
 382            </summary>
 383    </member>
 384    <member name="M:LinFu.AOP.Cecil.Factories.TypeWeaverActionFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
 385      <summary>
 386            Generates the <see cref="T:System.Action`2" /> instance that will
 387            weave the target type.
 388            </summary>
 389      <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> that describes the service request.</param>
 390      <returns>The <see cref="T:System.Action`2" /> instance that will weave the target type.</returns>
 391    </member>
 392    <member name="T:LinFu.AOP.Cecil.GetMethodReplacementProvider">
 393      <summary>
 394            Represents a class that emits the instructions that obtain an instance-level <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.
 395            </summary>
 396    </member>
 397    <member name="M:LinFu.AOP.Cecil.GetMethodReplacementProvider.#ctor(Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.MethodDefinition,System.Func{Mono.Cecil.ModuleDefinition,Mono.Cecil.MethodReference})">
 398      <summary>
 399            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.GetMethodReplacementProvider" /> class.
 400            </summary>
 401      <param name="methodReplacementProvider">The local variable that contains the <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.</param>
 402      <param name="hostMethod">The target method.</param>
 403      <param name="resolveGetProviderMethod">The functor that will resolve the GetProvider method.</param>
 404    </member>
 405    <member name="M:LinFu.AOP.Cecil.GetMethodReplacementProvider.Emit(Mono.Cecil.Cil.CilWorker)">
 406      <summary>
 407            Emits the instructions that obtain the <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.
 408            </summary>
 409      <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> instance.</param>
 410    </member>
 411    <member name="T:LinFu.AOP.Cecil.GetSurroundingClassImplementation">
 412      <summary>
 413            Represents a class that emits the instructions that obtain the <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.
 414            </summary>
 415    </member>
 416    <member name="M:LinFu.AOP.Cecil.GetSurroundingClassImplementation.#ctor(Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,System.Reflection.MethodInfo)">
 417      <summary>
 418            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.GetSurroundingClassImplementation" /> class.
 419            </summary>
 420      <param name="invocationInfo">The variable that contains the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
 421      <param name="surroundingClassImplementation">The variable that contains the <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.</param>
 422      <param name="getSurroundingImplementationMethod">The method that will obtain the <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.</param>
 423    </member>
 424    <member name="M:LinFu.AOP.Cecil.GetSurroundingClassImplementation.Emit(Mono.Cecil.Cil.CilWorker)">
 425      <summary>
 426            Emits the instructions that obtain the <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.
 427            </summary>
 428      <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that points to the current method body.</param>
 429    </member>
 430    <member name="T:LinFu.AOP.Cecil.GetSurroundingImplementationInstance">
 431      <summary>
 432            Represents a class that emits the instructions that obtain the current <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.
 433            </summary>
 434    </member>
 435    <member name="M:LinFu.AOP.Cecil.GetSurroundingImplementationInstance.#ctor(Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.Instruction)">
 436      <summary>
 437            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.GetSurroundingImplementationInstance" /> class.
 438            </summary>
 439      <param name="aroundInvokeProvider">The variable that will hold the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance.</param>
 440      <param name="invocationInfo">
 441      </param>
 442      <param name="surroundingImplementation">
 443      </param>
 444      <param name="skipGetSurroundingImplementation">
 445      </param>
 446    </member>
 447    <member name="M:LinFu.AOP.Cecil.GetSurroundingImplementationInstance.Emit(Mono.Cecil.Cil.CilWorker)">
 448      <summary>
 449            Emits the instructions that obtain the current <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.
 450            </summary>
 451      <param name="IL">
 452      </param>
 453    </member>
 454    <member name="T:LinFu.AOP.Cecil.GetAroundInvokeProvider">
 455      <summary>
 456            Represents a class that emits the call to obtain the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance.
 457            </summary>
 458    </member>
 459    <member name="M:LinFu.AOP.Cecil.GetAroundInvokeProvider.#ctor(Mono.Cecil.Cil.VariableDefinition,System.String)">
 460      <summary>
 461            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.GetAroundInvokeProvider" /> class.
 462            </summary>
 463      <param name="aroundInvokeProvider">The local variable that holds the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance.</param>
 464      <param name="providerName">The name of the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> property.</param>
 465    </member>
 466    <member name="M:LinFu.AOP.Cecil.GetAroundInvokeProvider.Emit(Mono.Cecil.Cil.CilWorker)">
 467      <summary>
 468            Emits the call to obtain the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance.
 469            </summary>
 470      <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> pointing to the target method body.</param>
 471    </member>
 472    <member name="T:LinFu.AOP.Cecil.GetInterceptionDisabled">
 473      <summary>
 474            Represents a class that emits the instructions that determine whether or not method interception is disabled.
 475            </summary>
 476    </member>
 477    <member name="M:LinFu.AOP.Cecil.GetInterceptionDisabled.#ctor(LinFu.AOP.Cecil.IMethodBodyRewriterParameters)">
 478      <summary>
 479            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.GetInterceptionDisabled" /> class.
 480            </summary>
 481      <param name="parameters">The <see cref="T:LinFu.AOP.Cecil.IMethodBodyRewriterParameters" /> instance.</param>
 482    </member>
 483    <member name="M:LinFu.AOP.Cecil.GetInterceptionDisabled.#ctor(Mono.Cecil.MethodReference,Mono.Cecil.Cil.VariableDefinition)">
 484      <summary>
 485            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.GetInterceptionDisabled" /> class.
 486            </summary>
 487      <param name="hostMethod">The target method.</param>
 488      <param name="interceptionDisabled">The local variable that determines whether or not method interception is disabled.</param>
 489    </member>
 490    <member name="M:LinFu.AOP.Cecil.GetInterceptionDisabled.Emit(Mono.Cecil.Cil.CilWorker)">
 491      <summary>
 492            Emits the instructions that determine whether or not method interception is disabled.
 493            </summary>
 494      <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> instance responsible for adding or removing instructions to the method body.</param>
 495    </member>
 496    <member name="T:LinFu.AOP.Cecil.GetClassMethodReplacementProvider">
 497      <summary>
 498            Represents a class that emits the instructions that obtain a class-level <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.
 499            </summary>
 500    </member>
 501    <member name="M:LinFu.AOP.Cecil.GetClassMethodReplacementProvider.#ctor(LinFu.AOP.Cecil.IMethodBodyRewriterParameters,System.Func{Mono.Cecil.ModuleDefinition,Mono.Cecil.MethodReference})">
 502      <summary>
 503            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.GetClassMethodReplacementProvider" /> class.
 504            </summary>
 505      <param name="parameters">The method body rewriter paramters that describe the </param>
 506      <param name="resolveGetProviderMethod">The functor that resolves the method that obtains the method replacement provider instance.</param>
 507    </member>
 508    <member name="M:LinFu.AOP.Cecil.GetClassMethodReplacementProvider.#ctor(Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,System.Func{Mono.Cecil.ModuleDefinition,Mono.Cecil.MethodReference})">
 509      <summary>
 510            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.GetClassMethodReplacementProvider" /> class.
 511            </summary>
 512      <param name="invocationInfo">The variable that contains the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
 513      <param name="classMethodReplacementProvider">The variable that contains the class method replacement provider instance.</param>
 514      <param name="resolveGetProviderMethod">The functor that resolves the method that obtains the method replacement provider instance.</param>
 515    </member>
 516    <member name="M:LinFu.AOP.Cecil.GetClassMethodReplacementProvider.Emit(Mono.Cecil.Cil.CilWorker)">
 517      <summary>
 518            Emits the instructions that obtain a class-level <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.
 519            </summary>
 520      <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> instance that points to the instructions in the method body.</param>
 521    </member>
 522    <member name="T:LinFu.AOP.Cecil.Extensions.FieldInterceptionExtensions">
 523      <summary>
 524            Represents an extension class that adds field interception support to a given type.
 525            </summary>
 526    </member>
 527    <member name="M:LinFu.AOP.Cecil.Extensions.FieldInterceptionExtensions.InterceptAllFields(Mono.Cecil.IReflectionStructureVisitable)">
 528      <summary>
 529            Adds field interception support to the target type.
 530            </summary>
 531      <param name="targetType">The type that will be modified.</param>
 532    </member>
 533    <member name="M:LinFu.AOP.Cecil.Extensions.FieldInterceptionExtensions.InterceptAllInstanceFields(Mono.Cecil.IReflectionStructureVisitable)">
 534      <summary>
 535            Adds field interception support intercepting all instance fields on the target type.
 536            </summary>
 537      <param name="targetType">The type that will be modified.</param>
 538    </member>
 539    <member name="M:LinFu.AOP.Cecil.Extensions.FieldInterceptionExtensions.InterceptAllStaticFields(Mono.Cecil.IReflectionStructureVisitable)">
 540      <summary>
 541            Adds field interception support intercepting all static fields on the target type.
 542            </summary>
 543      <param name="targetType">The type that will be modified.</param>
 544    </member>
 545    <member name="M:LinFu.AOP.Cecil.Extensions.FieldInterceptionExtensions.InterceptAllFields(Mono.Cecil.IReflectionVisitable)">
 546      <summary>
 547            Adds field interception support to the target type.
 548            </summary>
 549      <param name="targetType">The type that will be modified.</param>
 550    </member>
 551    <member name="M:LinFu.AOP.Cecil.Extensions.FieldInterceptionExtensions.InterceptAllInstanceFields(Mono.Cecil.IReflectionVisitable)">
 552      <summary>
 553            Adds field interception support intercepting all instance fields on the target type.
 554            </summary>
 555      <param name="targetType">The type that will be modified.</param>
 556    </member>
 557    <member name="M:LinFu.AOP.Cecil.Extensions.FieldInterceptionExtensions.InterceptAllStaticFields(Mono.Cecil.IReflectionVisitable)">
 558      <summary>
 559            Adds field interception support intercepting all static fields on the target type.
 560            </summary>
 561      <param name="targetType">The type that will be modified.</param>
 562    </member>
 563    <member name="M:LinFu.AOP.Cecil.Extensions.FieldInterceptionExtensions.InterceptFields(Mono.Cecil.IReflectionVisitable,System.Func{Mono.Cecil.MethodReference,System.Boolean},System.Func{Mono.Cecil.FieldReference,System.Boolean})">
 564      <summary>
 565            Adds field interception support to the target type.
 566            </summary>
 567      <param name="targetType">The type that will be modified.</param>
 568      <param name="methodFilter">The filter that determines which methods on the target type will be modified to support field interception.</param>
 569      <param name="fieldFilter">The filter that determines which fields should be intercepted.</param>
 570    </member>
 571    <member name="M:LinFu.AOP.Cecil.Extensions.FieldInterceptionExtensions.InterceptFields(Mono.Cecil.IReflectionStructureVisitable,LinFu.AOP.Cecil.ITypeFilter,LinFu.AOP.Cecil.Interfaces.IFieldFilter)">
 572      <summary>
 573            Adds field interception support to the target type.
 574            </summary>
 575      <param name="targetType">The type that will be modified.</param>
 576      <param name="hostTypeFilter">The filter that determines the host types to be modified.</param>
 577      <param name="fieldFilter">The field filter that determines the fields that will be intercepted.</param>
 578    </member>
 579    <member name="M:LinFu.AOP.Cecil.Extensions.FieldInterceptionExtensions.InterceptFields(Mono.Cecil.IReflectionStructureVisitable,System.Func{Mono.Cecil.MethodReference,System.Boolean},System.Func{Mono.Cecil.FieldReference,System.Boolean})">
 580      <summary>
 581            Adds field interception support to the target type.
 582            </summary>
 583      <param name="targetType">The type that will be modified.</param>
 584      <param name="methodFilter">The filter that determines which methods on the target type will be modified to support field interception.</param>
 585      <param name="fieldFilter">The filter that determines which fields should be intercepted.</param>
 586    </member>
 587    <member name="T:LinFu.AOP.Cecil.Interfaces.IFieldFilter">
 588      <summary>
 589            Represents a type that determines whether or not a particular field get or set should be intercepted.
 590            </summary>
 591    </member>
 592    <member name="M:LinFu.AOP.Cecil.Interfaces.IFieldFilter.ShouldWeave(Mono.Cecil.MethodReference,Mono.Cecil.FieldReference)">
 593      <summary>
 594            Determines whether or not a particular field get or set should be intercepted.
 595            </summary>
 596      <param name="hostMethod">The host method.</param>
 597      <param name="targetField">The target field.</param>
 598      <returns>Returns <c>true</c> if the field should be intercepted; otherwise, it will return <c>false</c>.</returns>
 599    </member>
 600    <member name="T:LinFu.AOP.Cecil.FieldFilterAdapter">
 601      <summary>
 602            Represents an adapter class that maps a functor to an <see cref="T:LinFu.AOP.Cecil.Interfaces.IFieldFilter" /> instance.
 603            </summary>
 604    </member>
 605    <member name="M:LinFu.AOP.Cecil.FieldFilterAdapter.#ctor(System.Func{Mono.Cecil.FieldReference,System.Boolean})">
 606      <summary>
 607            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.FieldFilterAdapter" /> class.
 608            </summary>
 609      <param name="filter">The field filter.</param>
 610    </member>
 611    <member name="M:LinFu.AOP.Cecil.FieldFilterAdapter.ShouldWeave(Mono.Cecil.MethodReference,Mono.Cecil.FieldReference)">
 612      <summary>
 613            Determines whether or not a particular field get or set should be intercepted.
 614            </summary>
 615      <param name="hostMethod">The host method.</param>
 616      <param name="targetField">The target field.</param>
 617      <returns>Returns <c>true</c> if the field should be intercepted; otherwise, it will return <c>false</c>.</returns>
 618    </member>
 619    <member name="T:LinFu.AOP.Cecil.IgnoredInstancesRegistry">
 620      <summary>
 621            Represents a class that keeps track of the internal object instances that should be ignored
 622            by the interception routines.
 623            </summary>
 624    </member>
 625    <member name="M:LinFu.AOP.Cecil.IgnoredInstancesRegistry.Contains(System.Object)">
 626      <summary>
 627            Determines whether or not the registry contains the given ignored object.
 628            </summary>
 629      <param name="target">The target object.</param>
 630      <returns>Returns <c>true</c> if the object should be ignored; otherwise, it will return <c>false</c>.</returns>
 631    </member>
 632    <member name="M:LinFu.AOP.Cecil.IgnoredInstancesRegistry.AddInstance(System.Object)">
 633      <summary>
 634            Adds an instance to the list of ignored instances.
 635            </summary>
 636      <param name="target">The target instance to be ignored by the interception routines.</param>
 637    </member>
 638    <member name="T:LinFu.AOP.Cecil.Interfaces.IMethodFilter">
 639      <summary>
 640            Represents a type that determines which host methods should be modified for method call interception.
 641            </summary>
 642    </member>
 643    <member name="M:LinFu.AOP.Cecil.Interfaces.IMethodFilter.ShouldWeave(Mono.Cecil.MethodReference)">
 644      <summary>
 645            Determines whether or not a particular method should be modified.
 646            </summary>
 647      <param name="targetMethod">The target method to be modified.</param>
 648      <returns>Returns <c>true</c> if the method should be modified; otherwise, it will return <c>false</c>.</returns>
 649    </member>
 650    <member name="T:LinFu.AOP.Cecil.Interfaces.IMethodCallFilter">
 651      <summary>
 652            Represents a type that determines the method calls that need to be intercepted.
 653            </summary>
 654    </member>
 655    <member name="M:LinFu.AOP.Cecil.Interfaces.IMethodCallFilter.ShouldWeave(Mono.Cecil.TypeReference,Mono.Cecil.MethodReference,Mono.Cecil.MethodReference)">
 656      <summary>
 657            Determines whether or not a particular method call should be intercepted.
 658            </summary>
 659      <param name="targetType">The host type that contains the method call.</param>
 660      <param name="hostMethod">The method that contains the current method call.</param>
 661      <param name="currentMethodCall">The method call to be intercepted.</param>
 662      <returns>Returns <c>true</c> if the method call should be intercepted; otherwise, it will return <c>false</c>.</returns>
 663    </member>
 664    <member name="T:LinFu.AOP.Cecil.IMethodBodyRewriterParameters">
 665      <summary>
 666            Represents the parameters used to add interception to a given method body.
 667            </summary>
 668    </member>
 669    <member name="P:LinFu.AOP.Cecil.IMethodBodyRewriterParameters.TargetMethod">
 670      <summary>
 671            Gets the value indicating the TargetMethod to be modified.
 672            </summary>
 673      <value>The method to be modified.</value>
 674    </member>
 675    <member name="P:LinFu.AOP.Cecil.IMethodBodyRewriterParameters.AroundInvokeProvider">
 676      <summary>
 677            Gets the value indicating the local variable used to store the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance.
 678            </summary>
 679      <value>The <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance.</value>
 680    </member>
 681    <member name="P:LinFu.AOP.Cecil.IMethodBodyRewriterParameters.MethodReplacementProvider">
 682      <summary>
 683            Gets the value indicating the local variable used to store the <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.
 684            </summary>
 685      <value>The <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.</value>
 686    </member>
 687    <member name="P:LinFu.AOP.Cecil.IMethodBodyRewriterParameters.ClassMethodReplacementProvider">
 688      <summary>
 689            Gets the value indicating the class-level<see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.
 690            </summary>
 691      <value>The class-level<see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.</value>
 692    </member>
 693    <member name="P:LinFu.AOP.Cecil.IMethodBodyRewriterParameters.InterceptionDisabled">
 694      <summary>
 695            Gets the value indicating the local variable that will store the value that determines whether or not
 696            interception is disabled.
 697            </summary>
 698      <value>The value that determines whether or not interception is disabled.</value>
 699    </member>
 700    <member name="P:LinFu.AOP.Cecil.IMethodBodyRewriterParameters.InvocationInfo">
 701      <summary>
 702            Gets the value indicating the local variable that will store the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.
 703            </summary>
 704      <value>The local variable that will store the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</value>
 705    </member>
 706    <member name="P:LinFu.AOP.Cecil.IMethodBodyRewriterParameters.ReturnValue">
 707      <summary>
 708            Gets the value indicating the local variable that will store the return value.
 709            </summary>
 710      <value>The value indicating the local variable that will store the return value.</value>
 711    </member>
 712    <member name="P:LinFu.AOP.Cecil.IMethodBodyRewriterParameters.RegistryType">
 713      <summary>
 714            Gets the value indicating the interception registry type that will be responsible for handling class-level interception events.
 715            </summary>
 716      <value>The interception registry type that will be responsible for handling class-level interception events.</value>
 717    </member>
 718    <member name="P:LinFu.AOP.Cecil.IMethodBodyRewriterParameters.GetMethodReplacementProviderMethod">
 719      <summary>
 720            Gets the value indicating the functor that resolves the GetMethodReplacementProvider method.
 721            </summary>
 722      <value>The functor that resolves the GetMethodReplacementProvider method.</value>
 723    </member>
 724    <member name="P:LinFu.AOP.Cecil.IMethodBodyRewriterParameters.OldInstructions">
 725      <summary>
 726            Gets the value indicating the list of old instructions in the current method body.
 727            </summary>
 728      <value>The value indicating the list of old instructions in the current method body.</value>
 729    </member>
 730    <member name="T:LinFu.AOP.Cecil.Interfaces.INewInstanceFilter">
 731      <summary>
 732            Represents a type that determines the constructor calls that will be intercepted by the postweaver.
 733            </summary>
 734    </member>
 735    <member name="M:LinFu.AOP.Cecil.Interfaces.INewInstanceFilter.ShouldWeave(Mono.Cecil.MethodReference,Mono.Cecil.TypeReference,Mono.Cecil.MethodReference)">
 736      <summary>
 737            Determines whether or not a particular constructor call should be intercepted by the postweaver.
 738            </summary>
 739      <param name="currentConstructor">The constructor used to instantiate the current instance.</param>
 740      <param name="concreteType">The concrete type that contains the new instance call.</param>
 741      <param name="hostMethod">The host method that contains the new operator call.</param>
 742      <returns>Returns <c>true</c> if the new operator call should be intercepted; otherwise, it should return <c>false</c>.</returns>
 743    </member>
 744    <member name="T:LinFu.AOP.Cecil.MethodCallFilterAdapter">
 745      <summary>
 746            Represents a type that converts functors into method call filter instances.
 747            </summary>
 748    </member>
 749    <member name="M:LinFu.AOP.Cecil.MethodCallFilterAdapter.#ctor(System.Func{Mono.Cecil.MethodReference,System.Boolean},System.Func{Mono.Cecil.MethodReference,System.Boolean})">
 750      <summary>
 751            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.MethodCallFilterAdapter" /> class.
 752            </summary>
 753      <param name="hostMethodFilter">The method filter that will determine the host methods that will be modified for interception.</param>
 754      <param name="methodCallFilter">The method filter that will determine which method calls will be intercepted.</param>
 755    </member>
 756    <member name="M:LinFu.AOP.Cecil.MethodCallFilterAdapter.ShouldWeave(Mono.Cecil.TypeReference,Mono.Cecil.MethodReference,Mono.Cecil.MethodReference)">
 757      <summary>
 758            Determines whether or not a particular method call should be intercepted.
 759            </summary>
 760      <param name="targetType">The host type that contains the method call.</param>
 761      <param name="hostMethod">The method that contains the current method call.</param>
 762      <param name="currentMethodCall">The method call to be intercepted.</param>
 763      <returns>Returns <c>true</c> if the method call should be intercepted; otherwise, it will return <c>false</c>.</returns>
 764    </member>
 765    <member name="T:LinFu.AOP.Cecil.NewInstanceInterceptionAdapter">
 766      <summary>
 767            Represents an adapter class that maps <see cref="T:LinFu.AOP.Cecil.Interfaces.INewInstanceFilter" /> instances to 
 768            functors.
 769            </summary>
 770    </member>
 771    <member name="M:LinFu.AOP.Cecil.NewInstanceInterceptionAdapter.#ctor(System.Func{Mono.Cecil.MethodReference,Mono.Cecil.TypeReference,Mono.Cecil.MethodReference,System.Boolean})">
 772      <summary>
 773            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.NewInstanceInterceptionAdapter" /> class.
 774            </summary>
 775      <param name="filter">The filter that determines which instances will be intercepted.</param>
 776    </member>
 777    <member name="M:LinFu.AOP.Cecil.NewInstanceInterceptionAdapter.ShouldWeave(Mono.Cecil.MethodReference,Mono.Cecil.TypeReference,Mono.Cecil.MethodReference)">
 778      <summary>
 779            Determines whether or not a particular constructor call should be intercepted by the postweaver.
 780            </summary>
 781      <param name="currentConstructor">The constructor used to instantiate the current instance.</param>
 782      <param name="concreteType">The concrete type that contains the new instance call.</param>
 783      <param name="hostMethod">The host method that contains the new operator call.</param>
 784      <returns>Returns <c>true</c> if the new operator call should be intercepted; otherwise, it should return <c>false</c>.</returns>
 785    </member>
 786    <member name="T:LinFu.AOP.Cecil.Interfaces.IWeaver`2">
 787      <summary>
 788            Represents a class that can weave (or modify) 
 789            a member embedded in an assembly.
 790            </summary>
 791      <typeparam name="T">The type of object to modify.</typeparam>
 792      <typeparam name="THost">The host that holds the item to be modified.</typeparam>
 793    </member>
 794    <member name="M:LinFu.AOP.Cecil.Interfaces.IWeaver`2.ShouldWeave(`0)">
 795      <summary>
 796            Determines whether or not the current item should be modified.
 797            </summary>
 798      <param name="item">The target item.</param>
 799      <returns>Returns <c>true</c> if the current item can be modified; otherwise, it should return <c>false.</c></returns>
 800    </member>
 801    <member name="M:LinFu.AOP.Cecil.Interfaces.IWeaver`2.Weave(`0)">
 802      <summary>
 803            Modifies the target <paramref name="item" />.
 804            </summary>
 805      <param name="item">The item to be modified.</param>
 806    </member>
 807    <member name="T:LinFu.AOP.Cecil.Interfaces.ITypeWeaver">
 808      <summary>
 809            Represents a type that can modify an existing <see cref="T:Mono.Cecil.TypeDefinition" />.
 810            </summary>
 811    </member>
 812    <member name="T:LinFu.AOP.Cecil.ImplementFieldInterceptionHostWeaver">
 813      <summary>
 814            Represents a type weaver that modifies types to implement the <see cref="T:LinFu.AOP.Interfaces.IFieldInterceptionHost" /> interface.
 815            </summary>
 816    </member>
 817    <member name="M:LinFu.AOP.Cecil.ImplementFieldInterceptionHostWeaver.#ctor(System.Func{Mono.Cecil.TypeReference,System.Boolean})">
 818      <summary>
 819            Initializes a new instance of the ImplementFieldInterceptionHostWeaver class.
 820            </summary>
 821      <param name="filter">The filter that determines which types should be modified.</param>
 822    </member>
 823    <member name="M:LinFu.AOP.Cecil.ImplementFieldInterceptionHostWeaver.ShouldWeave(Mono.Cecil.TypeDefinition)">
 824      <summary>
 825            Determines whether or not a type should be modified.
 826            </summary>
 827      <param name="item">
 828      </param>
 829      <returns>
 830        <c>true</c> if the type should be modified; otherwise, it will return <c>false</c>.</returns>
 831    </member>
 832    <member name="M:LinFu.AOP.Cecil.ImplementFieldInterceptionHostWeaver.Weave(Mono.Cecil.TypeDefinition)">
 833      <summary>
 834            Modifies the target type.
 835            </summary>
 836      <param name="type">The type to be modified.</param>
 837    </member>
 838    <member name="M:LinFu.AOP.Cecil.ImplementFieldInterceptionHostWeaver.AddAdditionalMembers(Mono.Cecil.ModuleDefinition)">
 839      <summary>
 840            Adds additional members to the target module.
 841            </summary>
 842      <param name="host">The host module.</param>
 843    </member>
 844    <member name="M:LinFu.AOP.Cecil.ImplementFieldInterceptionHostWeaver.ImportReferences(Mono.Cecil.ModuleDefinition)">
 845      <summary>
 846            Imports references into the target module.
 847            </summary>
 848      <param name="module">The module containing the type to be modified.</param>
 849    </member>
 850    <member name="T:LinFu.AOP.Cecil.Interfaces.IInstructionProvider">
 851      <summary>
 852            Represents a type that can provide the instructions for a given method.
 853            </summary>
 854    </member>
 855    <member name="M:LinFu.AOP.Cecil.Interfaces.IInstructionProvider.GetInstructions(Mono.Cecil.MethodDefinition)">
 856      <summary>
 857            Determines the instructions for a given method.
 858            </summary>
 859      <param name="method">The source method that contains the instructions.</param>
 860      <returns>The set of instructions for the given method.</returns>
 861    </member>
 862    <member name="T:LinFu.AOP.Cecil.InstructionProvider">
 863      <summary>
 864            Represents the default implementation of the <see cref="T:LinFu.AOP.Cecil.Interfaces.IInstructionProvider" /> class.
 865            </summary>
 866    </member>
 867    <member name="M:LinFu.AOP.Cecil.InstructionProvider.GetInstructions(Mono.Cecil.MethodDefinition)">
 868      <summary>
 869            Determines the instructions for a given method.
 870            </summary>
 871      <param name="method">The source method that contains the instructions.</param>
 872      <returns>The set of instructions for the given method.</returns>
 873    </member>
 874    <member name="T:LinFu.AOP.Cecil.InstructionSwapper">
 875      <summary>
 876            Provides the basic functionality for the <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodRewriter" /> interface.
 877            </summary>
 878    </member>
 879    <member name="M:LinFu.AOP.Cecil.InstructionSwapper.RewriteMethodBody(Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker,System.Collections.Generic.IEnumerable{Mono.Cecil.Cil.Instruction})">
 880      <summary>
 881            Rewrites the instructions in the target method body.
 882            </summary>
 883      <param name="method">The target method.</param>
 884      <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> instance that represents the method body.</param>
 885      <param name="oldInstructions">The IL instructions of the original method body.</param>
 886    </member>
 887    <member name="M:LinFu.AOP.Cecil.InstructionSwapper.ShouldReplace(Mono.Cecil.Cil.Instruction,Mono.Cecil.MethodDefinition)">
 888      <summary>
 889            Determines whether or not the method rewriter should replace the <paramref name="oldInstruction" />.
 890            </summary>
 891      <param name="oldInstruction">The instruction that is currently being evaluated.</param>
 892      <param name="hostMethod">The method that hosts the current instruction.</param>
 893      <returns>
 894        <c>true</c> if the method should be replaced; otherwise, it should return <c>false</c>.</returns>
 895    </member>
 896    <member name="M:LinFu.AOP.Cecil.InstructionSwapper.Replace(Mono.Cecil.Cil.Instruction,Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker)">
 897      <summary>
 898            Replaces the <paramref name="oldInstruction" /> with a new set of <paramref name="IL" /> instructions..
 899            </summary>
 900      <param name="oldInstruction">The instruction currently being evaluated.</param>
 901      <param name="hostMethod">The method that contains the target instruction.</param>
 902      <param name="IL">The CilWorker for the target method body.</param>
 903    </member>
 904    <member name="T:LinFu.AOP.Cecil.InterceptAndSurroundMethodBody">
 905      <summary>
 906            Represents a method body rewriter that surrounds a method body with the necessary prolog and epilogs
 907            that enable method body interception.
 908            </summary>
 909    </member>
 910    <member name="M:LinFu.AOP.Cecil.InterceptAndSurroundMethodBody.#ctor(LinFu.AOP.Cecil.Interfaces.IEmitInvocationInfo,LinFu.AOP.Cecil.Interfaces.IInstructionEmitter,LinFu.AOP.Cecil.ISurroundMethodBody,LinFu.AOP.Cecil.Interfaces.IInstructionEmitter,LinFu.AOP.Cecil.Interfaces.IInstructionEmitter,LinFu.AOP.Cecil.Interfaces.IInstructionEmitter,LinFu.AOP.Cecil.IMethodBodyRewriterParameters)">
 911      <summary>
 912            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.InterceptAndSurroundMethodBody" /> class.
 913            </summary>
 914      <param name="emitter">The emitter that will instantiate the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
 915      <param name="getInterceptionDisabled">The emitter that will determine whether or not method interception is enabled.</param>
 916      <param name="surroundMethodBody">The <see cref="T:LinFu.AOP.Cecil.ISurroundMethodBody" /> instance that will add the epilogs and prologs to the method body.</param>
 917      <param name="getInstanceMethodReplacementProvider">The emitter that will obtain the method replacement provider instance.</param>
 918      <param name="getClassMethodReplacementProvider">The emitter that will obtain the class-level method replacement provider instance.</param>
 919      <param name="addMethodReplacement">The instruction emitter that will add the call to obtain the method body replacement instance. </param>
 920      <param name="parameters">The parameters that describe the context of the method body rewrite.</param>
 921    </member>
 922    <member name="M:LinFu.AOP.Cecil.InterceptAndSurroundMethodBody.Rewrite(Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker,System.Collections.Generic.IEnumerable{Mono.Cecil.Cil.Instruction})">
 923      <summary>
 924            Rewrites a target method using the given CilWorker.
 925            </summary>
 926      <param name="method">The target method.</param>
 927      <param name="IL">The CilWorker that will be used to rewrite the target method.</param>
 928      <param name="oldInstructions">The original instructions from the target method body.</param>
 929    </member>
 930    <member name="T:LinFu.AOP.Cecil.InterceptFieldAccess">
 931      <summary>
 932            Represents a <see cref="T:LinFu.AOP.Cecil.MethodRewriter" /> that intercepts calls to field getters and setters and redirects those calls to
 933            a <see cref="T:LinFu.AOP.Interfaces.IFieldInterceptor" /> instance.
 934            </summary>
 935    </member>
 936    <member name="M:LinFu.AOP.Cecil.InterceptFieldAccess.#ctor(System.Func{Mono.Cecil.FieldReference,System.Boolean})">
 937      <summary>
 938            Initializes a new instance of the InterceptFieldAccess class.
 939            </summary>
 940      <param name="filter">The filter that determines which fields should be intercepted.</param>
 941    </member>
 942    <member name="M:LinFu.AOP.Cecil.InterceptFieldAccess.#ctor(LinFu.AOP.Cecil.Interfaces.IFieldFilter)">
 943      <summary>
 944            Initializes a new instance of the InterceptFieldAccess class.
 945            </summary>
 946      <param name="filter">The filter that determines which fields should be intercepted.</param>
 947    </member>
 948    <member name="M:LinFu.AOP.Cecil.InterceptFieldAccess.AddLocals(Mono.Cecil.MethodDefinition)">
 949      <summary>
 950            Adds locals to the target method.
 951            </summary>
 952      <param name="hostMethod">The method to be modified</param>
 953    </member>
 954    <member name="M:LinFu.AOP.Cecil.InterceptFieldAccess.ImportReferences(Mono.Cecil.ModuleDefinition)">
 955      <summary>
 956            Adds references to the target module.
 957            </summary>
 958      <param name="module">The module that will be modified.</param>
 959    </member>
 960    <member name="M:LinFu.AOP.Cecil.InterceptFieldAccess.ShouldReplace(Mono.Cecil.Cil.Instruction,Mono.Cecil.MethodDefinition)">
 961      <summary>
 962            Determines whether or not the method rewriter should replace the <paramref name="oldInstruction" />.
 963            </summary>
 964      <remarks>The <see cref="T:LinFu.AOP.Cecil.InterceptFieldAccess" /> class only modifies instructions that get or set the value of static and instance fields.</remarks>
 965      <param name="oldInstruction">The instruction that is currently being evaluated.</param>
 966      <param name="hostMethod">The method that hosts the current instruction.</param>
 967      <returns>
 968        <c>true</c> if the method should be replaced; otherwise, it should return <c>false</c>.</returns>
 969    </member>
 970    <member name="M:LinFu.AOP.Cecil.InterceptFieldAccess.Replace(Mono.Cecil.Cil.Instruction,Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker)">
 971      <summary>
 972            Replaces the <paramref name="oldInstruction" /> with a set of new instructions.
 973            </summary>
 974      <param name="oldInstruction">The instruction currently being evaluated.</param>
 975      <param name="hostMethod">The method that contains the target instruction.</param>
 976      <param name="IL">The CilWorker that will be used to emit the method body instructions.</param>
 977    </member>
 978    <member name="T:LinFu.AOP.Cecil.InterceptMethodBody">
 979      <summary>
 980            Represents a method rewriter type that adds interception capabilities to any given method body.
 981            </summary>
 982    </member>
 983    <member name="M:LinFu.AOP.Cecil.InterceptMethodBody.#ctor(System.Func{Mono.Cecil.MethodReference,System.Boolean})">
 984      <summary>
 985            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.InterceptMethodBody" /> class.
 986            </summary>
 987      <param name="methodFilter">The method filter that will determine the methods with the method bodies that will be intercepted.</param>
 988    </member>
 989    <member name="M:LinFu.AOP.Cecil.InterceptMethodBody.ShouldRewrite(Mono.Cecil.MethodDefinition)">
 990      <summary>
 991            Determines whether or not the given method should be modified.
 992            </summary>
 993      <param name="targetMethod">The target method.</param>
 994      <returns>A <see cref="T:System.Boolean" /> indicating whether or not a method should be rewritten.</returns>
 995    </member>
 996    <member name="M:LinFu.AOP.Cecil.InterceptMethodBody.RewriteMethodBody(Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker,System.Collections.Generic.IEnumerable{Mono.Cecil.Cil.Instruction})">
 997      <summary>
 998            Rewrites the instructions in the target method body.
 999            </summary>
1000      <param name="method">The target method.</param>
1001      <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> instance that represents the method body.</param>
1002      <param name="oldInstructions">The IL instructions of the original method body.</param>
1003    </member>
1004    <member name="T:LinFu.AOP.Cecil.Interfaces.IAroundMethodWeaver">
1005      <summary>
1006            Represents a class that adds a method
1007            epilog and prolog to an existing method instance.
1008            </summary>
1009    </member>
1010    <member name="M:LinFu.AOP.Cecil.Interfaces.IAroundMethodWeaver.ShouldWeave(Mono.Cecil.MethodDefinition)">
1011      <summary>
1012            Determines whether or not the current item should be modified.
1013            </summary>
1014      <param name="method">The target item.</param>
1015      <returns>Returns <c>true</c> if the current item can be modified; otherwise, it should return <c>false.</c></returns>
1016    </member>
1017    <member name="M:LinFu.AOP.Cecil.Interfaces.IAroundMethodWeaver.AddProlog(Mono.Cecil.Cil.Instruction,Mono.Cecil.Cil.MethodBody)">
1018      <summary>
1019            Adds an prolog to the target method.
1020            </summary>
1021      <param name="firstInstruction">The instruction that marks the start of the <paramref name="methodBody" /></param>
1022      <param name="methodBody">The method body of the target method.</param>
1023    </member>
1024    <member name="M:LinFu.AOP.Cecil.Interfaces.IAroundMethodWeaver.AddEpilog(Mono.Cecil.Cil.Instruction,Mono.Cecil.Cil.MethodBody)">
1025      <summary>
1026            Adds an epilog to the target method.
1027            </summary>
1028      <param name="lastInstruction">The instruction that marks the end of the <paramref name="methodBody" /></param>
1029      <param name="methodBody">The method body of the target method.</param>
1030    </member>
1031    <member name="T:LinFu.AOP.Cecil.Interfaces.IEmitInvocationInfo">
1032      <summary>
1033            Represents a class that emits
1034            the IL to save information about
1035            the method currently being executed.
1036            </summary>
1037    </member>
1038    <member name="M:LinFu.AOP.Cecil.Interfaces.IEmitInvocationInfo.Emit(Mono.Cecil.MethodDefinition,Mono.Cecil.MethodReference,Mono.Cecil.Cil.VariableDefinition)">
1039      <summary>
1040            Emits the IL to save information about
1041            the method currently being executed.
1042            </summary>
1043      <seealso cref="T:LinFu.AOP.Interfaces.IInvocationInfo" />
1044      <param name="targetMethod">The target method currently being executed.</param>
1045      <param name="currentMethod">The method that will be passed to the <paramref name="invocationInfo" /> as the currently executing method.</param>
1046      <param name="invocationInfo">The local variable that will store the resulting <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
1047    </member>
1048    <member name="T:LinFu.AOP.Cecil.Interfaces.IMethodWeaver">
1049      <summary>
1050            Represents a type that can modify <see cref="T:Mono.Cecil.MethodDefinition" /> objects.
1051            </summary>
1052    </member>
1053    <member name="T:LinFu.AOP.Cecil.Interfaces.IModuleWeaver">
1054      <summary>
1055            Represents a class that can modify existing <see cref="T:Mono.Cecil.ModuleDefinition" /> instances.
1056            </summary>
1057    </member>
1058    <member name="T:LinFu.AOP.Cecil.Interfaces.INewObjectWeaver">
1059      <summary>
1060            Represents a type that can emit IL that instantiates an object
1061            within a given method.
1062            </summary>
1063    </member>
1064    <member name="M:LinFu.AOP.Cecil.Interfaces.INewObjectWeaver.AddLocals(Mono.Cecil.MethodDefinition)">
1065      <summary>
1066            Adds local variables to the <paramref name="hostMethod" />.
1067            </summary>
1068      <param name="hostMethod">The target method.</param>
1069    </member>
1070    <member name="M:LinFu.AOP.Cecil.Interfaces.INewObjectWeaver.ShouldIntercept(Mono.Cecil.MethodReference,Mono.Cecil.TypeReference,Mono.Cecil.MethodReference)">
1071      <summary>
1072            Determines whether or not the object instantiation call to the <paramref name="constructor" />
1073            should be instrumented.
1074            </summary>
1075      <param name="constructor">The constructor that will be used to instantiate the target type.</param>
1076      <param name="concreteType">The type to be created.</param>
1077      <param name="hostMethod">The method that contains the instantiation request.</param>
1078      <returns>
1079        <c>true</c> if the call to the <c>new</c> operator should be intercepted; otherwise, it should return <c>false</c>.</returns>
1080    </member>
1081    <member name="M:LinFu.AOP.Cecil.Interfaces.INewObjectWeaver.EmitNewObject(Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker,Mono.Cecil.MethodReference,Mono.Cecil.TypeReference)">
1082      <summary>
1083            Emits the necessary <paramref name="IL" /> necessary to instantiate
1084            the <paramref name="concreteType" />.
1085            </summary>
1086      <param name="hostMethod">The method that contains the activation request.</param>
1087      <param name="IL">The CilWorker that will be used to replace the existing instructions in the method body.</param>
1088      <param name="targetConstructor">The constructor that is currently being used to instantiate the concrete type.</param>
1089      <param name="concreteType">The <see cref="T:System.Type" /> that describes the object type that needs to be instantiated.</param>
1090    </member>
1091    <member name="T:LinFu.AOP.Cecil.Interfaces.IPdbLoader">
1092      <summary>
1093            Represents a type that can load PDB files from disk.
1094            </summary>
1095    </member>
1096    <member name="M:LinFu.AOP.Cecil.Interfaces.IPdbLoader.LoadAssembly(System.Byte[],System.Byte[])">
1097      <summary>
1098            Loads an assembly into memory.
1099            </summary>
1100      <param name="assemblyArray">The bytes that represent the target assembly.</param>
1101      <param name="pdbBytes">The bytes that represent the PDB file.</param>
1102      <returns>A <see cref="T:System.Reflection.Assembly" /> that represents the loaded assembly.</returns>
1103    </member>
1104    <member name="M:LinFu.AOP.Cecil.Interfaces.IPdbLoader.LoadSymbols(Mono.Cecil.AssemblyDefinition)">
1105      <summary>
1106            Loads the debug symbols from the target <paramref name="assembly" />.
1107            </summary>
1108      <param name="assembly">The assembly that contains the symbols to be loaded.</param>
1109    </member>
1110    <member name="M:LinFu.AOP.Cecil.Interfaces.IPdbLoader.SaveSymbols(Mono.Cecil.AssemblyDefinition)">
1111      <summary>
1112            Saves the debug symbols for the  target<paramref name="assembly" />.
1113            </summary>
1114      <param name="targetAssembly">The assembly that contains the symbols to be saved.</param>
1115    </member>
1116    <member name="T:LinFu.AOP.Cecil.InvocationInfo">
1117      <summary>
1118            Represents the information associated with 
1119            a single method call.
1120            </summary>
1121    </member>
1122    <member name="M:LinFu.AOP.Cecil.InvocationInfo.#ctor(System.Object,System.Reflection.MethodBase,System.Diagnostics.StackTrace,System.Type[],System.Type[],System.Type,System.Object[])">
1123      <summary>
1124            Initializes the <see cref="T:LinFu.AOP.Cecil.InvocationInfo" /> instance.
1125            </summary>
1126      <param name="target">The target instance currently being called.</param>
1127      <param name="targetMethod">The method currently being called.</param>
1128      <param name="stackTrace"> The <see cref="P:LinFu.AOP.Cecil.InvocationInfo.StackTrace" /> associated with the method call when the call was made.</param>
1129      <param name="parameterTypes">The parameter types for the current target method.</param>
1130      <param name="typeArguments">
1131            If the <see cref="P:LinFu.AOP.Cecil.InvocationInfo.TargetMethod" /> method is a generic method, 
1132            this will hold the generic type arguments used to construct the
1133            method.
1134            </param>
1135      <param name="returnType">The return type of the target method.</param>
1136      <param name="arguments">The arguments used in the method call.</param>
1137    </member>
1138    <member name="M:LinFu.AOP.Cecil.InvocationInfo.ToString">
1139      <summary>
1140            Returns a string that represents the current object.
1141            </summary>
1142      <returns>A string that represents the current object.</returns>
1143    </member>
1144    <member name="P:LinFu.AOP.Cecil.InvocationInfo.CallingMethod">
1145      <summary>
1146            This is the actual calling method that invoked the <see cref="P:LinFu.AOP.Cecil.InvocationInfo.TargetMethod" />.
1147            </summary>
1148    </member>
1149    <member name="P:LinFu.AOP.Cecil.InvocationInfo.Target">
1150      <summary>
1151            The target instance currently being called.
1152            </summary>
1153      <remarks>This typically is a reference to a proxy object.</remarks>
1154    </member>
1155    <member name="P:LinFu.AOP.Cecil.InvocationInfo.TargetMethod">
1156      <summary>
1157            The method currently being called.
1158            </summary>
1159    </member>
1160    <member name="P:LinFu.AOP.Cecil.InvocationInfo.StackTrace">
1161      <summary>
1162            The <see cref="P:LinFu.AOP.Cecil.InvocationInfo.StackTrace" /> associated
1163            with the method call when the call was made.
1164            </summary>
1165    </member>
1166    <member name="P:LinFu.AOP.Cecil.InvocationInfo.ReturnType">
1167      <summary>
1168            The return type of the <see cref="P:LinFu.AOP.Cecil.InvocationInfo.TargetMethod" />.
1169            </summary>
1170    </member>
1171    <member name="P:LinFu.AOP.Cecil.InvocationInfo.ParameterTypes">
1172      <summary>
1173            The parameter types for the current target method.
1174            </summary>
1175      <remarks>
1176        <para>
1177            This could be very useful in cases where the actual target method
1178            is based on a generic type definition. In such cases, 
1179            the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance needs to be able
1180            to describe the actual parameter types being used by the
1181            current generic type instantiation. This property helps
1182            users determine which parameter types are actually being used
1183            at the time of the method call.
1184            </para>
1185      </remarks>
1186    </member>
1187    <member name="P:LinFu.AOP.Cecil.InvocationInfo.TypeArguments">
1188      <summary>
1189            If the <see cref="P:LinFu.AOP.Cecil.InvocationInfo.TargetMethod" /> method is a generic method, 
1190            this will hold the generic type arguments used to construct the
1191            method.
1192            </summary>
1193    </member>
1194    <member name="P:LinFu.AOP.Cecil.InvocationInfo.Arguments">
1195      <summary>
1196            The arguments used in the method call.
1197            </summary>
1198    </member>
1199    <member name="T:LinFu.AOP.Cecil.InvocationInfoEmitter">
1200      <summary>
1201            Represents the default implementation for the
1202            <see cref="T:LinFu.AOP.Cecil.Interfaces.IEmitInvocationInfo" /> class.
1203            </summary>
1204    </member>
1205    <member name="M:LinFu.AOP.Cecil.InvocationInfoEmitter.#ctor">
1206      <summary>
1207            Initializes a new instance of the InvocationInfoEmitter class.
1208            </summary>
1209    </member>
1210    <member name="M:LinFu.AOP.Cecil.InvocationInfoEmitter.#ctor(System.Boolean)">
1211      <summary>
1212            Initializes a new instance of the InvocationInfoEmitter class.
1213            </summary>
1214      <param name="pushStackTrace">Determines whether or not stack trace information will be available at runtime.</param>
1215    </member>
1216    <member name="M:LinFu.AOP.Cecil.InvocationInfoEmitter.Emit(Mono.Cecil.MethodDefinition,Mono.Cecil.MethodReference,Mono.Cecil.Cil.VariableDefinition)">
1217      <summary>
1218            Emits the IL to save information about
1219            the method currently being executed.
1220            </summary>
1221      <seealso cref="T:LinFu.AOP.Interfaces.IInvocationInfo" />
1222      <param name="targetMethod">The target method currently being executed.</param>
1223      <param name="interceptedMethod">The method that will be passed to the <paramref name="invocationInfo" /> as the currently executing method.</param>
1224      <param name="invocationInfo">The local variable that will store the resulting <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
1225    </member>
1226    <member name="T:LinFu.AOP.Cecil.Extensions.InvocationInfoExtensions">
1227      <summary>
1228            Adds helper methods classes that implement the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> 
1229            interface.
1230            </summary>
1231    </member>
1232    <member name="M:LinFu.AOP.Cecil.Extensions.InvocationInfoExtensions.Emit(LinFu.AOP.Cecil.Interfaces.IEmitInvocationInfo,System.Reflection.MethodInfo,Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.VariableDefinition)">
1233      <summary>
1234            Emits the IL instructions that will store information about the method <paramref name="targetMethod">currently being executed</paramref>
1235            and stores the results into the <paramref name="invocationInfo">variable.</paramref></summary>
1236      <param name="emitter">The <see cref="T:LinFu.AOP.Cecil.Interfaces.IEmitInvocationInfo" /> instance.</param>
1237      <param name="method">The method whose implementation will be intercepted.</param>
1238      <param name="targetMethod">The actual method that will contain the resulting instructions.</param>
1239      <param name="invocationInfo">The <see cref="T:Mono.Cecil.Cil.VariableDefinition">local variable</see> that will store the current <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
1240    </member>
1241    <member name="M:LinFu.AOP.Cecil.Extensions.InvocationInfoExtensions.Proceed(LinFu.AOP.Interfaces.IInvocationInfo)">
1242      <summary>
1243            Invokes the currently executing method by using the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.Target" />
1244            as the target instance, the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod" /> as the method, 
1245            and uses the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.Arguments" /> for the method
1246            arguments.
1247            </summary>
1248      <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that contains information about the method call itself.</param>
1249      <returns>The return value of the method call.</returns>
1250    </member>
1251    <member name="M:LinFu.AOP.Cecil.Extensions.InvocationInfoExtensions.Proceed(LinFu.AOP.Interfaces.IInvocationInfo,System.Object)">
1252      <summary>
1253            Invokes the currently executing method by using the <paramref name="target" />
1254            as the target instance, the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod" /> as the method, 
1255            and uses the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.Arguments" /> for the method
1256            arguments.
1257            </summary>
1258      <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that contains information about the method call itself.</param>
1259      <param name="target">The target instance that will handle the method call.</param>
1260      <returns>The return value of the method call.</returns>
1261    </member>
1262    <member name="M:LinFu.AOP.Cecil.Extensions.InvocationInfoExtensions.Proceed(LinFu.AOP.Interfaces.IInvocationInfo,System.Object,System.Object[])">
1263      <summary>
1264            Invokes the currently executing method by using the <paramref name="target" />
1265            as the target instance, the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod" /> as the method, 
1266            and uses the <paramref name="arguments" /> for the method
1267            arguments.
1268            </summary>
1269      <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that contains information about the method call itself.</param>
1270      <param name="target">The target instance that will handle the method call.</param>
1271      <param name="arguments">The arguments that will be used for the actual method call.</param>
1272      <returns>The return value of the method call.</returns>
1273    </member>
1274    <member name="T:LinFu.AOP.Cecil.Interfaces.IVerifier">
1275      <summary>
1276            A class that verifies a given <see cref="T:Mono.Cecil.AssemblyDefinition" /> instance.
1277            </summary>
1278    </member>
1279    <member name="M:LinFu.AOP.Cecil.Interfaces.IVerifier.Verify(Mono.Cecil.AssemblyDefinition)">
1280      <summary>
1281            Verifies the given <paramref name="assembly" /> instance.
1282            </summary>
1283      <param name="assembly">The assembly definition that needs to be verified.</param>
1284    </member>
1285    <member name="T:LinFu.AOP.Cecil.InvokeMethodReplacement">
1286      <summary>
1287            Represents a class that emits the instructions that call the method replacement instead of the original method body.
1288            </summary>
1289    </member>
1290    <member name="M:LinFu.AOP.Cecil.InvokeMethodReplacement.#ctor(Mono.Cecil.Cil.Instruction,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition)">
1291      <summary>
1292            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.InvokeMethodReplacement" /> class.
1293            </summary>
1294      <param name="executeOriginalInstructions">The instruction label that will be used if the original instructions should be executed.</param>
1295      <param name="methodReplacementProvider">The variable that contains the <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.</param>
1296      <param name="classMethodReplacementProvider">The variable that contains the class-level <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.</param>
1297      <param name="invocationInfo">The variable that contains the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
1298    </member>
1299    <member name="M:LinFu.AOP.Cecil.InvokeMethodReplacement.Emit(Mono.Cecil.Cil.CilWorker)">
1300      <summary>
1301            Emits the instructions that call the method replacement instead of the original method body.
1302            </summary>
1303      <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that points to the current method body.</param>
1304    </member>
1305    <member name="T:LinFu.AOP.Cecil.ISurroundMethodBody">
1306      <summary>
1307            Represents a type that can add a prolog and epilog instructions to a particular method body.
1308            </summary>
1309    </member>
1310    <member name="M:LinFu.AOP.Cecil.ISurroundMethodBody.AddProlog(Mono.Cecil.Cil.CilWorker)">
1311      <summary>
1312            Adds a prolog to the given method body.
1313            </summary>
1314      <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that points to the given method body.</param>
1315    </member>
1316    <member name="M:LinFu.AOP.Cecil.ISurroundMethodBody.AddEpilog(Mono.Cecil.Cil.CilWorker)">
1317      <summary>
1318            Adds an epilog to the given method body.
1319            </summary>
1320      <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that points to the given method body.</param>
1321    </member>
1322    <member name="T:LinFu.AOP.Cecil.ITypeFilter">
1323      <summary>
1324            Represents a type that determines whether or not a particular type should be modified.
1325            </summary>
1326    </member>
1327    <member name="M:LinFu.AOP.Cecil.ITypeFilter.ShouldWeave(Mono.Cecil.TypeReference)">
1328      <summary>
1329            Determines whether or not a type should be modified.
1330            </summary>
1331      <param name="type">The target type.</param>
1332      <returns>Returns <c>true</c> if the type should be modified.</returns>
1333    </member>
1334    <member name="T:LinFu.AOP.Cecil.Loaders.AssemblyLoaderWithPdbSupport">
1335      <summary>
1336            Represents an <see cref="P:LinFu.AOP.Cecil.Loaders.AssemblyLoaderWithPdbSupport.AssemblyLoader" /> class that adds support for loading PDB files into memory every time an assembly is loaded into memory.
1337            </summary>
1338    </member>
1339    <member name="M:LinFu.AOP.Cecil.Loaders.AssemblyLoaderWithPdbSupport.#ctor(LinFu.Reflection.IAssemblyLoader)">
1340      <summary>
1341            Initializes a new instance of the AssemblyLoaderWithPdbSupport class.
1342            </summary>
1343      <param name="loader">The <see cref="T:LinFu.Reflection.IAssemblyLoader" /> that will perform the actual load operation.</param>
1344    </member>
1345    <member name="M:LinFu.AOP.Cecil.Loaders.AssemblyLoaderWithPdbSupport.Load(System.String)">
1346      <summary>
1347            Loads the target assembly (and its corresponding PDB file) into memory.
1348            </summary>
1349      <param name="assemblyFile">The full path and filename of the assembly to load.</param>
1350      <returns>A loaded <see cref="T:System.Reflection.Assembly" /> instance.</returns>
1351    </member>
1352    <member name="M:LinFu.AOP.Cecil.Loaders.AssemblyLoaderWithPdbSupport.RemoveTemporaryFiles(System.String,System.String,System.String,System.String)">
1353      <summary>
1354            Removes the temporary backup files that were created during the load operation.
1355            </summary>
1356      <param name="assemblyFile">The full path and location of the original assembly file.</param>
1357      <param name="pdbFile">The full path and location of the original PDB file.</param>
1358      <param name="pdbTempFileName">The full path and location of the temporary pdb file.</param>
1359      <param name="assemblyBackupFile">The full path and location of the backup assembly file.</param>
1360    </member>
1361    <member name="P:LinFu.AOP.Cecil.Loaders.AssemblyLoaderWithPdbSupport.AssemblyLoader">
1362      <summary>
1363            Gets or sets the value indicating the <see cref="T:LinFu.Reflection.IAssemblyLoader" /> instance that will be used to load assemblies into memory.
1364            </summary>
1365    </member>
1366    <member name="T:LinFu.AOP.Cecil.Loaders.JITWeaver">
1367      <summary>
1368            Represents a loader that modifies a given assembly prior to being loaded from disk.
1369            </summary>
1370    </member>
1371    <member name="M:LinFu.AOP.Cecil.Loaders.JITWeaver.#ctor">
1372      <summary>
1373            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.Loaders.JITWeaver" /> class.
1374            </summary>
1375    </member>
1376    <member name="M:LinFu.AOP.Cecil.Loaders.JITWeaver.#ctor(LinFu.AOP.Cecil.Interfaces.IPdbLoader)">
1377      <summary>
1378            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.Loaders.JITWeaver" /> class.
1379            </summary>
1380      <param name="pdbLoader">The loader that will be responsible for loading the program debugging information into memory.</param>
1381    </member>
1382    <member name="M:LinFu.AOP.Cecil.Loaders.JITWeaver.Load(System.String)">
1383      <summary>
1384            Modifies a given assembly prior to being loaded from disk.
1385            </summary>
1386      <param name="assemblyFile">The filename of the target assembly.</param>
1387      <returns>A valid assembly.</returns>
1388    </member>
1389    <member name="P:LinFu.AOP.Cecil.Loaders.JITWeaver.PdbLoader">
1390      <summary>
1391            Gets or sets the value indicating the <see cref="T:LinFu.AOP.Cecil.Interfaces.IPdbLoader" /> that will be used to load debug symbols into memory.
1392            </summary>
1393    </member>
1394    <member name="P:LinFu.AOP.Cecil.Loaders.JITWeaver.AssemblyWeavers">
1395      <summary>
1396            Gets the value indicating the list of <see cref="T:System.Action`1" /> delegates
1397            that will be used to modify the assemblies loaded into memory.
1398            </summary>
1399    </member>
1400    <member name="P:LinFu.AOP.Cecil.Loaders.JITWeaver.AssemblyVerifier">
1401      <summary>
1402            Gets or sets the value indicating the <see cref="T:LinFu.AOP.Cecil.Interfaces.IVerifier" />
1403            instance that will be used to ensure that the modified assemblies are valid.
1404            </summary>
1405    </member>
1406    <member name="T:LinFu.AOP.Cecil.Loaders.PdbLoader">
1407      <summary>
1408            Represents the default implementation of the <see cref="T:LinFu.AOP.Cecil.Interfaces.IPdbLoader" /> interface.
1409            </summary>
1410    </member>
1411    <member name="M:LinFu.AOP.Cecil.Loaders.PdbLoader.LoadAssembly(System.Byte[],System.Byte[])">
1412      <summary>
1413            Loads an assembly into memory.
1414            </summary>
1415      <param name="assemblyArray">The bytes that represent the target assembly.</param>
1416      <param name="pdbBytes">The bytes that represent the PDB file.</param>
1417      <returns>A <see cref="T:System.Reflection.Assembly" /> that represents the loaded assembly.</returns>
1418    </member>
1419    <member name="M:LinFu.AOP.Cecil.Loaders.PdbLoader.LoadSymbols(Mono.Cecil.AssemblyDefinition)">
1420      <summary>
1421            Loads the debug symbols from the target <paramref name="assembly" />.
1422            </summary>
1423      <param name="assembly">The assembly that contains the symbols to be loaded.</param>
1424    </member>
1425    <member name="M:LinFu.AOP.Cecil.Loaders.PdbLoader.SaveSymbols(Mono.Cecil.AssemblyDefinition)">
1426      <summary>
1427            Saves the debug symbols for the  target<paramref name="assembly" />.
1428            </summary>
1429      <param name="targetAssembly">The assembly that contains the symbols to be saved.</param>
1430    </member>
1431    <member name="T:LinFu.AOP.Cecil.MethodBodyRewriterParameters">
1432      <summary>
1433            Represents the parameters used to add interception to a given method body.
1434            </summary>
1435    </member>
1436    <member name="M:LinFu.AOP.Cecil.MethodBodyRewriterParameters.#ctor(Mono.Cecil.Cil.CilWorker,System.Collections.Generic.IEnumerable{Mono.Cecil.Cil.Instruction},Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,System.Func{Mono.Cecil.ModuleDefinition,Mono.Cecil.MethodReference},System.Type)">
1437      <summary>
1438            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.MethodBodyRewriterParameters" /> class.
1439            </summary>
1440      <param name="IL">The CilWorker that is responsible for the current method body.</param>
1441      <param name="oldInstructions">The value indicating the list of old instructions in the current method body.</param>
1442      <param name="interceptionDisabled">The value that determines whether or not interception is disabled.</param>
1443      <param name="invocationInfo">The local variable that will store the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
1444      <param name="returnValue">The value indicating the local variable that will store the return value.</param>
1445      <param name="methodReplacementProvider">The <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.</param>
1446      <param name="aroundInvokeProvider">The <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance.</param>
1447      <param name="classMethodReplacementProvider">The class-level<see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.</param>
1448      <param name="getMethodReplacementProviderMethod">The functor that resolves the GetMethodReplacementProvider method.</param>
1449      <param name="registryType">The interception registry type that will be responsible for handling class-level interception events.</param>
1450    </member>
1451    <member name="P:LinFu.AOP.Cecil.MethodBodyRewriterParameters.OldInstructions">
1452      <summary>
1453            Gets the value indicating the list of old instructions in the current method body.
1454            </summary>
1455      <value>The value indicating the list of old instructions in the current method body.</value>
1456    </member>
1457    <member name="P:LinFu.AOP.Cecil.MethodBodyRewriterParameters.ClassMethodReplacementProvider">
1458      <summary>
1459            Gets the value indicating the class-level<see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.
1460            </summary>
1461      <value>The class-level<see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.</value>
1462    </member>
1463    <member name="P:LinFu.AOP.Cecil.MethodBodyRewriterParameters.AroundInvokeProvider">
1464      <summary>
1465            Gets the value indicating the local variable used to store the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance.
1466            </summary>
1467      <value>The <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance.</value>
1468    </member>
1469    <member name="P:LinFu.AOP.Cecil.MethodBodyRewriterParameters.MethodReplacementProvider">
1470      <summary>
1471            Gets the value indicating the local variable used to store the <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.
1472            </summary>
1473      <value>The <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.</value>
1474    </member>
1475    <member name="P:LinFu.AOP.Cecil.MethodBodyRewriterParameters.TargetMethod">
1476      <summary>
1477            Gets the value indicating the TargetMethod to be modified.
1478            </summary>
1479      <value>The method to be modified.</value>
1480    </member>
1481    <member name="P:LinFu.AOP.Cecil.MethodBodyRewriterParameters.InterceptionDisabled">
1482      <summary>
1483            Gets the value indicating the local variable that will store the value that determines whether or not
1484            interception is disabled.
1485            </summary>
1486      <value>The value that determines whether or not interception is disabled.</value>
1487    </member>
1488    <member name="P:LinFu.AOP.Cecil.MethodBodyRewriterParameters.InvocationInfo">
1489      <summary>
1490            Gets the value indicating the local variable that will store the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.
1491            </summary>
1492      <value>The local variable that will store the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</value>
1493    </member>
1494    <member name="P:LinFu.AOP.Cecil.MethodBodyRewriterParameters.ReturnValue">
1495      <summary>
1496            Gets the value indicating the local variable that will store the return value.
1497            </summary>
1498      <value>The value indicating the local variable that will store the return value.</value>
1499    </member>
1500    <member name="P:LinFu.AOP.Cecil.MethodBodyRewriterParameters.RegistryType">
1501      <summary>
1502            Gets the value indicating the interception registry type that will be responsible for handling class-level interception events.
1503            </summary>
1504      <value>The interception registry type that will be responsible for handling class-level interception events.</value>
1505    </member>
1506    <member name="P:LinFu.AOP.Cecil.MethodBodyRewriterParameters.GetMethodReplacementProviderMethod">
1507      <summary>
1508            Gets the value indicating the functor that resolves the GetMethodReplacementProvider method.
1509            </summary>
1510      <value>The functor that resolves the GetMethodReplacementProvider method.</value>
1511    </member>
1512    <member name="T:LinFu.AOP.Cecil.Extensions.MethodDefinitionExtensions">
1513      <summary>
1514            Represents an extension class that adds helper methods to the <see cref="T:Mono.Cecil.MethodDefinition" /> type.
1515            </summary>
1516    </member>
1517    <member name="M:LinFu.AOP.Cecil.Extensions.MethodDefinitionExtensions.AddLocal(Mono.Cecil.MethodDefinition,System.Type)">
1518      <summary>
1519            Adds a local variable to the given method.
1520            </summary>
1521      <param name="methodDef">The target method.</param>
1522      <param name="localType">The variable type.</param>
1523      <returns>A local variable definition.</returns>
1524    </member>
1525    <member name="T:LinFu.AOP.Cecil.Extensions.MethodBodyInterceptionExtensions">
1526      <summary>
1527            Represents an extension class that adds method body interception support to the Mono.Cecil object model.
1528            </summary>
1529    </member>
1530    <member name="M:LinFu.AOP.Cecil.Extensions.MethodBodyInterceptionExtensions.InterceptAllMethodBodies(Mono.Cecil.IReflectionStructureVisitable)">
1531      <summary>
1532            Intercepts all method bodies on the target item.
1533            </summary>
1534      <param name="target">The target to be modified.</param>
1535    </member>
1536    <member name="M:LinFu.AOP.Cecil.Extensions.MethodBodyInterceptionExtensions.InterceptAllMethodBodies(Mono.Cecil.IReflectionVisitable)">
1537      <summary>
1538            Intercepts all method bodies on the target item.
1539            </summary>
1540      <param name="target">The target to be modified.</param>
1541    </member>
1542    <member name="M:LinFu.AOP.Cecil.Extensions.MethodBodyInterceptionExtensions.InterceptMethodBody(Mono.Cecil.IReflectionVisitable,LinFu.AOP.Cecil.Interfaces.IMethodFilter)">
1543      <summary>
1544            Intercepts all method bodies on the target item.
1545            </summary>
1546      <param name="target">The target to be modified.</param>
1547      <param name="methodFilter">The method filter that will determine the methods that will be modified.</param>
1548    </member>
1549    <member name="M:LinFu.AOP.Cecil.Extensions.MethodBodyInterceptionExtensions.InterceptMethodBody(Mono.Cecil.IReflectionStructureVisitable,LinFu.AOP.Cecil.Interfaces.IMethodFilter)">
1550      <summary>
1551            Intercepts all method bodies on the target item.
1552            </summary>
1553      <param name="target">The target to be modified.</param>
1554      <param name="methodFilter">The method filter that will determine the methods that will be modified.</param>
1555    </member>
1556    <member name="M:LinFu.AOP.Cecil.Extensions.MethodBodyInterceptionExtensions.InterceptMethodBody(Mono.Cecil.IReflectionStructureVisitable,System.Func{Mono.Cecil.MethodReference,System.Boolean})">
1557      <summary>
1558            Intercepts all method bodies on the target item.
1559            </summary>
1560      <param name="target">The target to be modified.</param>
1561      <param name="methodFilter">The method filter that will determine the methods that will be modified.</param>
1562    </member>
1563    <member name="M:LinFu.AOP.Cecil.Extensions.MethodBodyInterceptionExtensions.InterceptMethodBody(Mono.Cecil.IReflectionVisitable,System.Func{Mono.Cecil.MethodReference,System.Boolean})">
1564      <summary>
1565            Intercepts all method bodies on the target item.
1566            </summary>
1567      <param name="target">The target to be modified.</param>
1568      <param name="methodFilter">The method filter that will determine the methods that will be modified.</param>
1569    </member>
1570    <member name="T:LinFu.AOP.Cecil.Extensions.MethodCallInterceptionExtensions">
1571      <summary>
1572            Represents an extension class that adds method call interception support to the Mono.Cecil object model.
1573            </summary>
1574    </member>
1575    <member name="M:LinFu.AOP.Cecil.Extensions.MethodCallInterceptionExtensions.InterceptAllMethodCalls(Mono.Cecil.IReflectionStructureVisitable)">
1576      <summary>
1577            Modifies the current <paramref name="target" /> to support third-party method call interception for all method calls made inside the target.
1578            </summary>
1579      <param name="target">The target object.</param>
1580    </member>
1581    <member name="M:LinFu.AOP.Cecil.Extensions.MethodCallInterceptionExtensions.InterceptAllMethodCalls(Mono.Cecil.IReflectionVisitable)">
1582      <summary>
1583            Modifies the current <paramref name="target" /> to support third-party method call interception for all method calls made inside the target.
1584            </summary>
1585      <param name="target">The target object.</param>
1586    </member>
1587    <member name="M:LinFu.AOP.Cecil.Extensions.MethodCallInterceptionExtensions.InterceptMethodCalls(Mono.Cecil.IReflectionStructureVisitable,System.Func{Mono.Cecil.TypeReference,System.Boolean})">
1588      <summary>
1589            Modifies the current <paramref name="target" /> to support third-party method call interception for all method calls made inside the target.
1590            </summary>
1591      <param name="target">The target object.</param>
1592      <param name="typeFilter">The type filter that determines which types will be modified for interception.</param>
1593    </member>
1594    <member name="M:LinFu.AOP.Cecil.Extensions.MethodCallInterceptionExtensions.InterceptMethodCalls(Mono.Cecil.IReflectionVisitable,System.Func{Mono.Cecil.TypeReference,System.Boolean})">
1595      <summary>
1596            Modifies the current <paramref name="target" /> to support third-party method call interception for all method calls made inside the target.
1597            </summary>
1598      <param name="target">The target object.</param>
1599      <param name="typeFilter">The type filter that determines the types that will be modified.</param>
1600    </member>
1601    <member name="M:LinFu.AOP.Cecil.Extensions.MethodCallInterceptionExtensions.InterceptMethodCalls(Mono.Cecil.IReflectionVisitable,LinFu.AOP.Cecil.Interfaces.IMethodCallFilter,LinFu.AOP.Cecil.Interfaces.IMethodFilter)">
1602      <summary>
1603            Modifies the current <paramref name="target" /> to support third-party method call interception for all method calls made inside the target.
1604            </summary>
1605      <param name="target">The target object.</param>
1606      <param name="methodCallFilter">The <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodCallFilter" /> instance that determines the method calls that will be intercepted.</param>
1607      <param name="hostMethodFilter">The <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodFilter" /> instance that determines the host method calls that will be modified</param>
1608    </member>
1609    <member name="M:LinFu.AOP.Cecil.Extensions.MethodCallInterceptionExtensions.InterceptMethodCalls(Mono.Cecil.IReflectionStructureVisitable,LinFu.AOP.Cecil.Interfaces.IMethodCallFilter,LinFu.AOP.Cecil.Interfaces.IMethodFilter)">
1610      <summary>
1611            Modifies the current <paramref name="target" /> to support third-party method call interception for all method calls made inside the target.
1612            </summary>
1613      <param name="target">The target object.</param>
1614      <param name="methodCallFilter">The <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodCallFilter" /> instance that determines the method calls that will be intercepted.</param>
1615      <param name="hostMethodFilter">The <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodFilter" /> instance that determines the host method calls that will be modified</param>
1616    </member>
1617    <member name="M:LinFu.AOP.Cecil.Extensions.MethodCallInterceptionExtensions.InterceptMethodCalls(Mono.Cecil.IReflectionStructureVisitable,System.Func{Mono.Cecil.TypeReference,System.Boolean},System.Func{Mono.Cecil.MethodReference,System.Boolean},System.Func{Mono.Cecil.MethodReference,System.Boolean})">
1618      <summary>
1619            Modifies the current <paramref name="target" /> to support third-party method call interception.
1620            </summary>
1621      <param name="target">The target object.</param>
1622      <param name="typeFilter">The filter that will determine the target types that will be modified.</param>
1623      <param name="hostMethodFilter">The filter that will determine the methods that will be modified on the target type.</param>
1624      <param name="methodCallFilter">The filter that will determine which third-party methods will be intercepted on the target type.</param>
1625    </member>
1626    <member name="M:LinFu.AOP.Cecil.Extensions.MethodCallInterceptionExtensions.InterceptMethodCalls(Mono.Cecil.IReflectionVisitable,System.Func{Mono.Cecil.TypeReference,System.Boolean},System.Func{Mono.Cecil.MethodReference,System.Boolean},System.Func{Mono.Cecil.MethodReference,System.Boolean})">
1627      <summary>
1628            Modifies the current <paramref name="target" /> to support third-party method call interception.
1629            </summary>
1630      <param name="target">The target object.</param>
1631      <param name="typeFilter">The filter that will determine the target types that will be modified.</param>
1632      <param name="hostMethodFilter">The filter that will determine the methods that will be modified on the target type.</param>
1633      <param name="methodCallFilter">The filter that will determine which third-party methods will be intercepted on the target type.</param>
1634    </member>
1635    <member name="T:LinFu.AOP.Cecil.MethodRewriter">
1636      <summary>
1637            Provides the basic functionality for the <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodRewriter" /> interface.
1638            </summary>
1639    </member>
1640    <member name="M:LinFu.AOP.Cecil.MethodRewriter.Rewrite(Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker,System.Collections.Generic.IEnumerable{Mono.Cecil.Cil.Instruction})">
1641      <summary>
1642            Rewrites a target method using the given CilWorker.
1643            </summary>
1644      <param name="method">The target method.</param>
1645      <param name="IL">The CilWorker that will be used to rewrite the target method.</param>
1646      <param name="oldInstructions">The original instructions from the target method body.</param>
1647    </member>
1648    <member name="M:LinFu.AOP.Cecil.MethodRewriter.AddAdditionalMembers(Mono.Cecil.TypeDefinition)">
1649      <summary>
1650            Adds additional members to the host type.
1651            </summary>
1652      <param name="host">The host type.</param>
1653    </member>
1654    <member name="M:LinFu.AOP.Cecil.MethodRewriter.ImportReferences(Mono.Cecil.ModuleDefinition)">
1655      <summary>
1656            Adds additional references to the target module.
1657            </summary>
1658      <param name="module">The host module.</param>
1659    </member>
1660    <member name="M:LinFu.AOP.Cecil.MethodRewriter.AddLocals(Mono.Cecil.MethodDefinition)">
1661      <summary>
1662            Adds local variables to the <paramref name="hostMethod" />.
1663            </summary>
1664      <param name="hostMethod">The target method.</param>
1665    </member>
1666    <member name="M:LinFu.AOP.Cecil.MethodRewriter.ShouldReplace(Mono.Cecil.Cil.Instruction,Mono.Cecil.MethodDefinition)">
1667      <summary>
1668            Determines whether or not the method rewriter should replace the <paramref name="oldInstruction" />.
1669            </summary>
1670      <param name="oldInstruction">The instruction that is currently being evaluated.</param>
1671      <param name="hostMethod">The method that hosts the current instruction.</param>
1672      <returns>
1673        <c>true</c> if the method should be replaced; otherwise, it should return <c>false</c>.</returns>
1674    </member>
1675    <member name="M:LinFu.AOP.Cecil.MethodRewriter.Replace(Mono.Cecil.Cil.Instruction,Mono.Cecil.MethodDefinition,Mono.Cecil.Cil.CilWorker)">
1676      <summary>
1677            Replaces the <paramref name="oldInstruction" /> with a new set of <paramref name="IL" /> instructions..
1678            </summary>
1679      <param name="oldInstruction">The instruction currently being evaluated.</param>
1680      <param name="hostMethod">The method that contains the target instruction.</param>
1681      <param name="IL">The CilWorker for the target method body.</param>
1682    </member>
1683    <member name="T:LinFu.AOP.Cecil.Extensions.MethodRewriterExtensions">
1684      <summary>
1685            A helper class that extends Cecil to support the <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodRewriter" /> interface.
1686            </summary>
1687    </member>
1688    <member name="M:LinFu.AOP.Cecil.Extensions.MethodRewriterExtensions.WeaveWith(Mono.Cecil.IReflectionStructureVisitable,LinFu.AOP.Cecil.Interfaces.IMethodRewriter,System.Func{Mono.Cecil.MethodReference,System.Boolean})">
1689      <summary>
1690            Transforms the methods in the <paramref name="target" /> using the given method rewriter.
1691            </summary>
1692      <param name="target">The transformation target.</param>
1693      <param name="rewriter">The method rewriter.</param>
1694      <param name="filter">The method filter that determines which methods will be rewritten.</param>
1695    </member>
1696    <member name="M:LinFu.AOP.Cecil.Extensions.MethodRewriterExtensions.WeaveWith(Mono.Cecil.IReflectionVisitable,LinFu.AOP.Cecil.Interfaces.IMethodRewriter,System.Func{Mono.Cecil.MethodReference,System.Boolean})">
1697      <summary>
1698            Transforms the methods in the <paramref name="target" /> using the given method rewriter.
1699            </summary>
1700      <param name="target">The transformation target.</param>
1701      <param name="rewriter">The method rewriter.</param>
1702      <param name="filter">The method filter that determines which methods will be rewritten.</param>
1703    </member>
1704    <member name="T:LinFu.AOP.Cecil.MethodWeaver">
1705      <summary>
1706            Represents the default implementation of the <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodWeaver" /> interface.
1707            </summary>
1708    </member>
1709    <member name="M:LinFu.AOP.Cecil.MethodWeaver.#ctor(LinFu.AOP.Cecil.Interfaces.IMethodRewriter,System.Func{Mono.Cecil.MethodReference,System.Boolean})">
1710      <summary>
1711            Initializes a new instance of the MethodWeaver class.
1712            </summary>
1713      <param name="rewriter">The <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodRewriter" /> instance that will modify the existing method.</param>
1714      <param name="filter">The filter that determines which methods should be modified.</param>
1715    </member>
1716    <member name="M:LinFu.AOP.Cecil.MethodWeaver.#ctor(LinFu.AOP.Cecil.Interfaces.IMethodRewriter,LinFu.AOP.Cecil.Interfaces.IInstructionProvider,System.Func{Mono.Cecil.MethodReference,System.Boolean})">
1717      <summary>
1718            Initializes a new instance of the MethodWeaver class.
1719            </summary>
1720      <param name="rewriter">The <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodRewriter" /> instance that will modify the existing method.</param>
1721      <param name="instructionProvider">The provider that will obtain the original instructions for the target method.</param>
1722      <param name="filter">The filter that determines which methods should be modified.</param>
1723    </member>
1724    <member name="M:LinFu.AOP.Cecil.MethodWeaver.ShouldWeave(Mono.Cecil.MethodDefinition)">
1725      <summary>
1726            Determines whether or not a method should be modified.
1727            </summary>
1728      <param name="item">The target method.</param>
1729      <returns>
1730        <c>true</c> if the method should be modified; otherwise, it returns <c>false</c>.</returns>
1731    </member>
1732    <member name="M:LinFu.AOP.Cecil.MethodWeaver.Weave(Mono.Cecil.MethodDefinition)">
1733      <summary>
1734            Modifies a target method.
1735            </summary>
1736      <param name="method">The target method.</param>
1737    </member>
1738    <member name="M:LinFu.AOP.Cecil.MethodWeaver.AddAdditionalMembers(Mono.Cecil.TypeDefinition)">
1739      <summary>
1740            Adds additional members to the target type.
1741            </summary>
1742      <param name="host">The target type to be modified.</param>
1743    </member>
1744    <member name="M:LinFu.AOP.Cecil.MethodWeaver.ImportReferences(Mono.Cecil.ModuleDefinition)">
1745      <summary>
1746            Imports additional references into the given module.
1747            </summary>
1748      <param name="module">The module that will store the additional references.</param>
1749    </member>
1750    <member name="M:LinFu.AOP.Cecil.MethodWeaver.Rewrite(Mono.Cecil.MethodDefinition)">
1751      <summary>
1752            Rewrites an existing method.
1753            </summary>
1754      <param name="method">The method that needs to be modified.</param>
1755    </member>
1756    <member name="T:LinFu.AOP.Cecil.MethodWeaverVisitor">
1757      <summary>
1758            Represents a visitor class that can iterate over <see cref="T:Mono.Cecil.MethodDefinition" />
1759            instances.
1760            </summary>
1761    </member>
1762    <member name="M:LinFu.AOP.Cecil.MethodWeaverVisitor.#ctor(LinFu.AOP.Cecil.Interfaces.IMethodWeaver)">
1763      <summary>
1764            Initializes a new instance of the MethodWeaverVisitor class.
1765            </summary>
1766      <param name="methodWeaver">The <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodWeaver" /> that will be used to modify a given type.</param>
1767    </member>
1768    <member name="M:LinFu.AOP.Cecil.MethodWeaverVisitor.VisitConstructor(Mono.Cecil.MethodDefinition)">
1769      <summary>
1770            Visits a <see cref="T:Mono.Cecil.MethodDefinition" /> instance.
1771            </summary>
1772      <param name="ctor">The <see cref="T:Mono.Cecil.MethodDefinition" /> instance that will be modified.</param>
1773    </member>
1774    <member name="M:LinFu.AOP.Cecil.MethodWeaverVisitor.VisitMethodDefinition(Mono.Cecil.MethodDefinition)">
1775      <summary>
1776            Visits a <see cref="T:Mono.Cecil.MethodDefinition" /> instance.
1777            </summary>
1778      <param name="method">The <see cref="T:Mono.Cecil.MethodDefinition" /> instance that will be modified.</param>
1779    </member>
1780    <member name="M:LinFu.AOP.Cecil.MethodWeaverVisitor.VisitModuleDefinition(Mono.Cecil.ModuleDefinition)">
1781      <summary>
1782            Visits a <see cref="T:Mono.Cecil.ModuleDefinition" /> instance.
1783            </summary>
1784      <param name="module">A <see cref="T:Mono.Cecil.ModuleDefinition" /> object.</param>
1785    </member>
1786    <member name="M:LinFu.AOP.Cecil.MethodWeaverVisitor.VisitTypeDefinition(Mono.Cecil.TypeDefinition)">
1787      <summary>
1788            Visits a <see cref="T:Mono.Cecil.TypeDefinition" /> instance.
1789            </summary>
1790      <param name="type">A <see cref="T:Mono.Cecil.TypeDefinition" /> object.</param>
1791    </member>
1792    <member name="T:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions">
1793      <summary>
1794            An extension class that adds support for intercepting the 'new' operator with LinFu.AOP.
1795            </summary>
1796    </member>
1797    <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptAllNewInstances(Mono.Cecil.IReflectionStructureVisitable)">
1798      <summary>
1799            Modifies a <paramref name="target" /> to support intercepting all calls to the 'new' operator.
1800            </summary>
1801      <param name="target">The assembly to be modified.</param>
1802    </member>
1803    <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptAllNewInstances(Mono.Cecil.IReflectionVisitable)">
1804      <summary>
1805            Modifies a <paramref name="target" /> to support intercepting all calls to the 'new' operator.
1806            </summary>
1807      <param name="target">The assembly to be modified.</param>
1808    </member>
1809    <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptNewInstances(Mono.Cecil.IReflectionVisitable,System.Func{Mono.Cecil.TypeReference,System.Boolean},System.Func{Mono.Cecil.MethodReference,System.Boolean})">
1810      <summary>
1811            Modifies a <paramref name="target" /> to support intercepting calls to the 'new' operator.
1812            </summary>
1813      <param name="target">The assembly to be modified.</param>
1814      <param name="typeFilter">The functor that determines which type instantiations should be intercepted.</param>
1815      <param name="methodFilter">The filter that determines which host methods will be modified</param>
1816      <remarks>
1817            The type filter determines the concrete types that should be intercepted at runtime.
1818            For example, the following functor code intercepts types named "Foo":
1819            <code>
1820                Func&lt;TypeReference, bool&gt; filter = 
1821                concreteType =&gt; concreteType.Name == "Foo";
1822            </code></remarks>
1823    </member>
1824    <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptNewInstances(Mono.Cecil.IReflectionStructureVisitable,System.Func{Mono.Cecil.MethodReference,Mono.Cecil.TypeReference,System.Boolean},System.Func{Mono.Cecil.MethodReference,System.Boolean})">
1825      <summary>
1826            Modifies a <paramref name="target" /> assembly to support intercepting calls to the 'new' operator.
1827            </summary>
1828      <param name="target">The assembly to be modified.</param>
1829      <param name="constructorFilter">The functor that determines which type instantiations should be intercepted.</param>
1830      <param name="methodFilter">The filter that determines which host methods will be modified</param>
1831      <remarks>
1832            The type filter determines which concrete types and constructors should be intercepted at runtime.
1833            For example, the following functor code intercepts types named "Foo":
1834            <code>
1835                Func&lt;MethodReference, TypeReference, bool&gt; filter = 
1836                (constructor, concreteType, hostMethod) =&gt; concreteType.Name == "Foo";
1837            </code></remarks>
1838    </member>
1839    <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptNewInstances(Mono.Cecil.IReflectionStructureVisitable,System.Func{Mono.Cecil.TypeReference,System.Boolean})">
1840      <summary>
1841            Modifies a <paramref name="target" /> assembly to support intercepting calls to the 'new' operator.
1842            </summary>
1843      <param name="target">The assembly to be modified.</param>
1844      <param name="typeFilter">The functor that determines which type instantiations should be intercepted.</param>
1845      <remarks>
1846            The type filter determines the concrete types that should be intercepted at runtime.
1847            For example, the following functor code intercepts types named "Foo":
1848            <code>
1849                Func&lt;TypeReference, bool&gt; filter = 
1850                concreteType =&gt; concreteType.Name == "Foo";
1851            </code></remarks>
1852    </member>
1853    <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptNewInstances(Mono.Cecil.IReflectionVisitable,System.Func{Mono.Cecil.TypeReference,System.Boolean})">
1854      <summary>
1855            Modifies a <paramref name="target" /> assembly to support intercepting calls to the 'new' operator.
1856            </summary>
1857      <param name="target">The assembly to be modified.</param>
1858      <param name="typeFilter">The functor that determines which type instantiations should be intercepted.</param>
1859      <remarks>
1860            The type filter determines the concrete types that should be intercepted at runtime.
1861            For example, the following functor code intercepts types named "Foo":
1862            <code>
1863                Func&lt;TypeReference, bool&gt; filter = 
1864                concreteType =&gt; concreteType.Name == "Foo";
1865            </code></remarks>
1866    </member>
1867    <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptNewInstances(Mono.Cecil.IReflectionStructureVisitable,System.Func{Mono.Cecil.TypeReference,System.Boolean},System.Func{Mono.Cecil.MethodReference,System.Boolean})">
1868      <summary>
1869            Modifies the <paramref name="target" /> to support intercepting calls to the 'new' operator.
1870            </summary>
1871      <param name="target">The item to be modified.</param>
1872      <param name="methodFilter">The filter that determines which host methods will be modified</param>
1873      <param name="typeFilter">The filter that determines which types will be modified.</param>
1874      <remarks>
1875            The type filter determines which concrete types and constructors should be intercepted at runtime.
1876            For example, the following functor code intercepts types named "Foo":
1877            <code>
1878                Func&lt;MethodReference, TypeReference, bool&gt; filter = 
1879                (constructor, concreteType, hostMethod) =&gt; concreteType.Name == "Foo";
1880            </code></remarks>
1881    </member>
1882    <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptNewInstances(Mono.Cecil.IReflectionVisitable,System.Func{Mono.Cecil.MethodReference,Mono.Cecil.TypeReference,System.Boolean},System.Func{Mono.Cecil.MethodReference,System.Boolean})">
1883      <summary>
1884            Modifies the <paramref name="target" /> to support intercepting calls to the 'new' operator.
1885            </summary>
1886      <param name="target">The item to be modified.</param>
1887      <param name="constructorFilter">The functor that determines which type instantiations should be intercepted.</param>
1888      <param name="methodFilter">The filter that determines which host methods will be modified</param>
1889      <remarks>
1890            The type filter determines which concrete types and constructors should be intercepted at runtime.
1891            For example, the following functor code intercepts types named "Foo":
1892            <code>
1893                Func&lt;MethodReference, TypeReference, bool&gt; filter = 
1894                (constructor, concreteType, hostMethod) =&gt; concreteType.Name == "Foo";
1895            </code></remarks>
1896    </member>
1897    <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptNewInstances(Mono.Cecil.IReflectionStructureVisitable,LinFu.AOP.Cecil.Interfaces.INewInstanceFilter,LinFu.AOP.Cecil.Interfaces.IMethodFilter)">
1898      <summary>
1899            Modifies the <paramref name="target" /> to support intercepting calls to the 'new' operator.
1900            </summary>
1901      <param name="target">The item to be modified.</param>
1902      <param name="newInstanceFilter">The filter that will determine which constructor calls should be intercepted.</param>
1903      <param name="methodFilter">The filter that will determine which host methods should be modified to support new instance interception.</param>
1904    </member>
1905    <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptNewInstances(Mono.Cecil.IReflectionVisitable,LinFu.AOP.Cecil.Interfaces.INewInstanceFilter,LinFu.AOP.Cecil.Interfaces.IMethodFilter)">
1906      <summary>
1907            Modifies the <paramref name="target" /> to support intercepting calls to the 'new' operator.
1908            </summary>
1909      <param name="target">The item to be modified.</param>
1910      <param name="newInstanceFilter">The filter that will determine which constructor calls should be intercepted.</param>
1911      <param name="methodFilter">The filter that will determine which host methods should be modified to support new instance interception.</param>
1912    </member>
1913    <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptNewInstancesWith(Mono.Cecil.IReflectionStructureVisitable,LinFu.AOP.Cecil.Interfaces.INewObjectWeaver,System.Func{Mono.Cecil.MethodReference,System.Boolean})">
1914      <summary>
1915            Modifies the methods in the given <paramref name="target" /> using the custom <see cref="T:LinFu.AOP.Cecil.Interfaces.INewObjectWeaver" /> instance.
1916            </summary>
1917      <param name="target">The host that contains the methods that will be modified.</param>
1918      <param name="weaver">The custom <see cref="T:LinFu.AOP.Cecil.Interfaces.INewObjectWeaver" /> that will replace all calls to the new operator with the custom code emitted by the given weaver.</param>
1919      <param name="filter">The method filter that will determine which methods should be modified.</param>
1920    </member>
1921    <member name="M:LinFu.AOP.Cecil.Extensions.NewOperatorInterceptionExtensions.InterceptNewInstancesWith(Mono.Cecil.IReflectionVisitable,LinFu.AOP.Cecil.Interfaces.INewObjectWeaver,System.Func{Mono.Cecil.MethodReference,System.Boolean})">
1922      <summary>
1923            Modifies the methods in the given <paramref name="target" /> using the custom <see cref="T:LinFu.AOP.Cecil.Interfaces.INewObjectWeaver" /> instance.
1924            </summary>
1925      <param name="target">The host that contains the methods that will be modified.</param>
1926      <param name="weaver">The custom <see cref="T:LinFu.AOP.Cecil.Interfaces.INewObjectWeaver" /> that will replace all calls to the new operator with the custom code emitted by the given weaver.</param>
1927      <param name="filter">The method filter that will determine which methods should be modified.</param>
1928    </member>
1929    <member name="T:LinFu.AOP.Cecil.SaveReturnValue">
1930      <summary>
1931            Represents an instruction emitter that saves the return value from a given method call.
1932            </summary>
1933    </member>
1934    <member name="M:LinFu.AOP.Cecil.SaveReturnValue.#ctor(Mono.Cecil.TypeReference,Mono.Cecil.Cil.VariableDefinition)">
1935      <summary>
1936            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.SaveReturnValue" /> class.
1937            </summary>
1938      <param name="returnType">The return type.</param>
1939      <param name="returnValue">The return value.</param>
1940    </member>
1941    <member name="M:LinFu.AOP.Cecil.SaveReturnValue.Emit(Mono.Cecil.Cil.CilWorker)">
1942      <summary>
1943            Saves the return value from a given method call.
1944            </summary>
1945      <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> pointing to the target method body.</param>
1946    </member>
1947    <member name="T:LinFu.AOP.Cecil.SurroundMethodBody">
1948      <summary>
1949            Represents a class that surrounds a call site with calls to an <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance.
1950            </summary>
1951    </member>
1952    <member name="M:LinFu.AOP.Cecil.SurroundMethodBody.#ctor(LinFu.AOP.Cecil.IMethodBodyRewriterParameters,System.String)">
1953      <summary>
1954            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.IMethodBodyRewriterParameters" /> class.
1955            </summary>
1956      <param name="parameters">The parameters that describe the context of the emitter call.</param>
1957      <param name="providerName">The name of the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> property.</param>
1958    </member>
1959    <member name="M:LinFu.AOP.Cecil.SurroundMethodBody.#ctor(Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,Mono.Cecil.Cil.VariableDefinition,System.Type,System.String)">
1960      <summary>
1961            Initializes a new instance of the <see cref="T:LinFu.AOP.Cecil.IMethodBodyRewriterParameters" /> class.
1962            </summary>
1963      <param name="methodReplacementProvider">The variable that contains the <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> instance.</param>
1964      <param name="aroundInvokeProvider">The variable that contains the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance</param>
1965      <param name="invocationInfo">The variable that contains the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</param>
1966      <param name="interceptionDisabled">The variable that determines whether or not interception is disabled</param>
1967      <param name="returnValue">The variable that contains the method return value.</param>
1968      <param name="registryType">The interception registry type that will be responsible for handling class-level interception events.</param>
1969      <param name="providerName">The name of the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> property.</param>
1970    </member>
1971    <member name="M:LinFu.AOP.Cecil.SurroundMethodBody.AddProlog(Mono.Cecil.Cil.CilWorker)">
1972      <summary>
1973            Adds a prolog to the given method body.
1974            </summary>
1975      <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that points to the given method body.</param>
1976    </member>
1977    <member name="M:LinFu.AOP.Cecil.SurroundMethodBody.AddEpilog(Mono.Cecil.Cil.CilWorker)">
1978      <summary>
1979            Adds an epilog to the given method body.
1980            </summary>
1981      <param name="IL">The <see cref="T:Mono.Cecil.Cil.CilWorker" /> that points to the given method body.</param>
1982    </member>
1983    <member name="T:LinFu.AOP.Cecil.Extensions.TypeDefinitionExtensions">
1984      <summary>
1985            Adds helper methods to the <see cref="T:Mono.Cecil.TypeDefinition" /> class.
1986            </summary>
1987    </member>
1988    <member name="M:LinFu.AOP.Cecil.Extensions.TypeDefinitionExtensions.WeaveWith(Mono.Cecil.TypeDefinition,LinFu.AOP.Cecil.Interfaces.IMethodWeaver)">
1989      <summary>
1990            Applies a <see cref="T:LinFu.AOP.Cecil.Interfaces.IMethodWeaver" /> instance to all methods
1991            within the given <paramref name="targetType" />.
1992            </summary>
1993      <param name="targetType">The target module.</param>
1994      <param name="weaver">The <see cref="T:LinFu.AOP.Cecil.Interfaces.ITypeWeaver" /> instance that will modify the methods in the given target type.</param>
1995    </member>
1996    <member name="T:LinFu.AOP.Cecil.TypeWeaverVisitor">
1997      <summary>
1998            Represents a visitor class that can iterate over <see cref="T:Mono.Cecil.TypeDefinition" />
1999            instances.
2000            </summary>
2001    </member>
2002    <member name="M:LinFu.AOP.Cecil.TypeWeaverVisitor.#ctor(LinFu.AOP.Cecil.Interfaces.ITypeWeaver)">
2003      <summary>
2004            Initializes a new instance of the TypeWeaverVisitor class.
2005            </summary>
2006      <param name="weaver">The <see cref="T:LinFu.AOP.Cecil.Interfaces.ITypeWeaver" /> that will be used to modify a given type.</param>
2007    </member>
2008    <member name="M:LinFu.AOP.Cecil.TypeWeaverVisitor.VisitTypeDefinition(Mono.Cecil.TypeDefinition)">
2009      <summary>
2010            Visits a <see cref="T:Mono.Cecil.TypeDefinition" /> instance.
2011            </summary>
2012      <param name="type">A <see cref="T:Mono.Cecil.TypeDefinition" /> object.</param>
2013    </member>
2014    <member name="T:LinFu.AOP.Interfaces.IFieldInterceptor">
2015      <summary>
2016            Represents a type that can intercept field getter and setter calls.
2017            </summary>
2018    </member>
2019    <member name="M:LinFu.AOP.Interfaces.IFieldInterceptor.CanIntercept(LinFu.AOP.Interfaces.IFieldInterceptionContext)">
2020      <summary>
2021            Determines whether or not a field can be intercepted.
2022            </summary>
2023      <param name="context">The context that describes the field to be intercepted.</param>
2024      <returns>
2025        <c>true</c> if it can be intercepted; otherwise, it will return <c>false</c>.</returns>
2026    </member>
2027    <member name="M:LinFu.AOP.Interfaces.IFieldInterceptor.GetValue(LinFu.AOP.Interfaces.IFieldInterceptionContext)">
2028      <summary>
2029            Gets the value of a field.
2030            </summary>
2031      <param name="context">The context that describes the field to be intercepted.</param>
2032      <returns>The value of the target field.</returns>
2033    </member>
2034    <member name="M:LinFu.AOP.Interfaces.IFieldInterceptor.SetValue(LinFu.AOP.Interfaces.IFieldInterceptionContext,System.Object)">
2035      <summary>
2036            Sets the value of a field.
2037            </summary>
2038      <param name="context">The context that describes the field to be intercepted.</param>
2039      <param name="value">The original value that will be assigned to the target field.</param>
2040      <returns>The value that will be assigned to the target field.</returns>
2041    </member>
2042    <member name="T:LinFu.AOP.Interfaces.IAroundInvokeHost">
2043      <summary>
2044            Represents a type that supports injecting code around a method body or method call.
2045            </summary>
2046    </member>
2047    <member name="P:LinFu.AOP.Interfaces.IAroundInvokeHost.AroundMethodBodyProvider">
2048      <summary>
2049            Gets or sets the value indicating the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" />
2050            that will be used to inject code "around" a particular method body
2051            implementation.
2052            </summary>
2053    </member>
2054    <member name="P:LinFu.AOP.Interfaces.IAroundInvokeHost.AroundMethodCallProvider">
2055      <summary>
2056            Gets or sets the value indicating the <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" />
2057            that will be used to inject code "around" a particular method call
2058            implementation.
2059            </summary>
2060    </member>
2061    <member name="T:LinFu.AOP.Interfaces.IBeforeInvoke">
2062      <summary>
2063            Represents a class that is invoked before a method call.
2064            </summary>
2065    </member>
2066    <member name="M:LinFu.AOP.Interfaces.IBeforeInvoke.BeforeInvoke(LinFu.AOP.Interfaces.IInvocationInfo)">
2067      <summary>
2068            This method will be called just before the actual
2069            method call is executed.
2070            </summary>
2071      <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> associated with the method call.</param>
2072      <seealso cref="T:LinFu.AOP.Interfaces.IInvocationInfo" />
2073    </member>
2074    <member name="T:LinFu.AOP.Interfaces.IAfterInvoke">
2075      <summary>
2076            Represents a class that is invoked after a method call.
2077            </summary>
2078    </member>
2079    <member name="M:LinFu.AOP.Interfaces.IAfterInvoke.AfterInvoke(LinFu.AOP.Interfaces.IInvocationInfo,System.Object)">
2080      <summary>
2081            This method will be called immediately after the actual
2082            method call is executed.
2083            </summary>
2084      <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> associated with the method call.</param>
2085      <param name="returnValue">The value returned from the actual method call.</param>
2086    </member>
2087    <member name="T:LinFu.AOP.Interfaces.IAroundInvoke">
2088      <summary>
2089            Represents a class that can wrap itself around any given method call.
2090            </summary>
2091    </member>
2092    <member name="T:LinFu.AOP.Interfaces.AroundInvokeMethodCallRegistry">
2093      <summary>
2094            Represents a registry class that handles all class-level method call interception operations for all modified types.
2095            </summary>
2096    </member>
2097    <member name="M:LinFu.AOP.Interfaces.AroundInvokeMethodCallRegistry.GetSurroundingImplementation(LinFu.AOP.Interfaces.IInvocationInfo)">
2098      <summary>
2099            Obtains the <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance for the given <paramref name="context" />.
2100            </summary>
2101      <param name="context">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the current method call.</param>
2102      <returns>An <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance that will be used to wrap a method call or method body.</returns>
2103    </member>
2104    <member name="M:LinFu.AOP.Interfaces.AroundInvokeMethodCallRegistry.AddProvider(LinFu.AOP.Interfaces.IAroundInvokeProvider)">
2105      <summary>
2106            Adds an <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> to the list of provider instances.
2107            </summary>
2108      <param name="provider">The <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance.</param>
2109    </member>
2110    <member name="M:LinFu.AOP.Interfaces.AroundInvokeMethodCallRegistry.Clear">
2111      <summary>
2112            Clears the list of <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instances.
2113            </summary>
2114    </member>
2115    <member name="T:LinFu.AOP.Interfaces.ActivatorExtensions">
2116      <summary>
2117            An extension class that adds helper methods to the <see cref="T:LinFu.AOP.Interfaces.IActivator`1" /> interface.
2118            </summary>
2119    </member>
2120    <member name="M:LinFu.AOP.Interfaces.ActivatorExtensions.CreateInstance(LinFu.AOP.Interfaces.IActivator{LinFu.AOP.Interfaces.IActivationContext},System.Type,System.Object[])">
2121      <summary>
2122            Instantiates the <paramref name="targetType" /> with the given <paramref name="activator" /> and <paramref name="constructorArguments" />.
2123            </summary>
2124      <param name="activator">The <see cref="T:LinFu.AOP.Interfaces.IActivator`1" /> instance that will be responsible for creating the <paramref name="targetType" />.</param>
2125      <param name="targetType">The type to be created.</param>
2126      <param name="constructorArguments">The arguments that will be passed to the constructor.</param>
2127      <returns>An object reference that matches the given <paramref name="targetType" />.</returns>
2128    </member>
2129    <member name="M:LinFu.AOP.Interfaces.ActivatorExtensions.CreateInstance``1(LinFu.AOP.Interfaces.IActivator{LinFu.AOP.Interfaces.IActivationContext},System.Object[])">
2130      <summary>
2131            Instantiates the <paramref name="targetType" /> with the given <paramref name="activator" /> and <paramref name="constructorArguments" />.
2132            </summary>
2133      <param name="activator">The <see cref="T:LinFu.AOP.Interfaces.IActivator`1" /> instance that will be responsible for creating the target type.</param>
2134      <param name="constructorArguments">The arguments that will be passed to the constructor.</param>
2135      <typeparam name="T">The target type that will be instantiated by the activator.</typeparam>
2136      <returns>An object reference that matches the given <paramref name="targetType" />.</returns>
2137    </member>
2138    <member name="T:LinFu.AOP.Interfaces.IInvocationInfo">
2139      <summary>
2140            Represents the information associated with 
2141            a single method call.
2142            </summary>
2143    </member>
2144    <member name="P:LinFu.AOP.Interfaces.IInvocationInfo.Target">
2145      <summary>
2146            The target instance currently being called.
2147            </summary>
2148      <remarks>This typically is a reference to a proxy object.</remarks>
2149    </member>
2150    <member name="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod">
2151      <summary>
2152            The method currently being called.
2153            </summary>
2154    </member>
2155    <member name="P:LinFu.AOP.Interfaces.IInvocationInfo.ReturnType">
2156      <summary>
2157            The return type of the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod" />.
2158            </summary>
2159    </member>
2160    <member name="P:LinFu.AOP.Interfaces.IInvocationInfo.StackTrace">
2161      <summary>
2162            The <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.StackTrace" /> associated
2163            with the method call when the call was made.
2164            </summary>
2165    </member>
2166    <member name="P:LinFu.AOP.Interfaces.IInvocationInfo.ParameterTypes">
2167      <summary>
2168            The parameter types for the current target method.
2169            </summary>
2170      <remarks>
2171        <para>
2172            This could be very useful in cases where the actual target method
2173            is based on a generic type definition. In such cases, 
2174            the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance needs to be able
2175            to describe the actual parameter types being used by the
2176            current generic type instantiation. This property helps
2177            users determine which parameter types are actually being used
2178            at the time of the method call.
2179            </para>
2180      </remarks>
2181    </member>
2182    <member name="P:LinFu.AOP.Interfaces.IInvocationInfo.TypeArguments">
2183      <summary>
2184            If the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod" /> method is a generic method, 
2185            this will hold the generic type arguments used to construct the
2186            method.
2187            </summary>
2188    </member>
2189    <member name="P:LinFu.AOP.Interfaces.IInvocationInfo.Arguments">
2190      <summary>
2191            The arguments used in the method call.
2192            </summary>
2193    </member>
2194    <member name="T:LinFu.AOP.Interfaces.BootStrapRegistry">
2195      <summary>
2196            Represents a registry class that bootstraps components into memory when the application starts.
2197            </summary>
2198    </member>
2199    <member name="M:LinFu.AOP.Interfaces.BootStrapRegistry.Initialize">
2200      <summary>
2201            Initializes the BootStrapRegistry.
2202            </summary>
2203    </member>
2204    <member name="M:LinFu.AOP.Interfaces.BootStrapRegistry.GetComponents">
2205      <summary>
2206            Returns the list of components that have been initialized by the bootstrapper.
2207            </summary>
2208      <returns>
2209      </returns>
2210    </member>
2211    <member name="P:LinFu.AOP.Interfaces.BootStrapRegistry.Instance">
2212      <summary>
2213            Gets the value indicating the BootStrapRegistry instance.
2214            </summary>
2215    </member>
2216    <member name="T:LinFu.AOP.Interfaces.MethodBodyReplacementProviderRegistry">
2217      <summary>
2218            Represents a static type that allows users to register a method replacement provider from a single location.
2219            </summary>
2220    </member>
2221    <member name="M:LinFu.AOP.Interfaces.MethodBodyReplacementProviderRegistry.GetProvider(System.Object,LinFu.AOP.Interfaces.IInvocationInfo)">
2222      <summary>
2223            Returns the provider that is currently attached to the registry.
2224            </summary>
2225      <param name="host">The type that is currently being intercepted.</param>
2226      <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> object that describes the invocation context.</param>
2227      <returns>A <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> that will determine the code that will be executed once a target method is called.</returns>
2228    </member>
2229    <member name="M:LinFu.AOP.Interfaces.MethodBodyReplacementProviderRegistry.SetProvider(LinFu.AOP.Interfaces.IMethodReplacementProvider)">
2230      <summary>
2231            Assigns the <paramref name="provider" /> to the MethodReplacementProvider registry.
2232            </summary>
2233      <returns>A <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> that will determine the code that will be executed once a target method is called.</returns>
2234    </member>
2235    <member name="T:LinFu.AOP.Interfaces.IMethodReplacementHost">
2236      <summary>
2237            Represents a type that can have its method body  implementations replaced at runtime.
2238            </summary>
2239    </member>
2240    <member name="P:LinFu.AOP.Interfaces.IMethodReplacementHost.MethodBodyReplacementProvider">
2241      <summary>
2242            Gets or sets a value indicating the <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> that will be used to swap method body implementations at runtime.
2243            </summary>
2244    </member>
2245    <member name="P:LinFu.AOP.Interfaces.IMethodReplacementHost.MethodCallReplacementProvider">
2246      <summary>
2247            Gets or sets a value indicating the <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> that will be used to swap method body implementations at runtime.
2248            </summary>
2249    </member>
2250    <member name="T:LinFu.AOP.Interfaces.IExceptionHandlerInfo">
2251      <summary>
2252            Represents a type that describes the context of a thrown exception.
2253            </summary>
2254    </member>
2255    <member name="P:LinFu.AOP.Interfaces.IExceptionHandlerInfo.Exception">
2256      <summary>
2257            Gets the value indicating the thrown exception.
2258            </summary>
2259      <value>The thrown exception.</value>
2260    </member>
2261    <member name="P:LinFu.AOP.Interfaces.IExceptionHandlerInfo.InvocationInfo">
2262      <summary>
2263            Gets the value indicating the <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the context of the method
2264            that threw the exception.
2265            </summary>
2266      <value>The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.</value>
2267    </member>
2268    <member name="P:LinFu.AOP.Interfaces.IExceptionHandlerInfo.ReturnValue">
2269      <summary>
2270            Gets or sets the value indicating the return value that will be used in place of the original return value if 
2271            the exception is intercepted by an <see cref="T:LinFu.AOP.Interfaces.IExceptionHandler" /> instance.
2272            </summary>
2273      <value>The method return value.</value>
2274    </member>
2275    <member name="P:LinFu.AOP.Interfaces.IExceptionHandlerInfo.ShouldSkipRethrow">
2276      <summary>
2277            Gets or sets the value indicating whether or not the exception should be rethrown after
2278            the <see cref="T:LinFu.AOP.Interfaces.IExceptionHandler" /> handles the given exception.
2279            </summary>
2280      <value>This should be <c>true</c> if the exception should be rethrown, otherwise, it must be <c>false</c>.</value>
2281    </member>
2282    <member name="T:LinFu.AOP.Interfaces.IExceptionHandler">
2283      <summary>
2284            Represents a type that can catch thrown exceptions.
2285            </summary>
2286    </member>
2287    <member name="M:LinFu.AOP.Interfaces.IExceptionHandler.CanCatch(LinFu.AOP.Interfaces.IExceptionHandlerInfo)">
2288      <summary>
2289            Determines whether or not an exception can be handled.
2290            </summary>
2291      <param name="exceptionHandlerInfo">The object that describes the exception being thrown.</param>
2292      <returns>
2293        <c>True</c> if the exception can be handled by the current handler.</returns>
2294    </member>
2295    <member name="M:LinFu.AOP.Interfaces.IExceptionHandler.Catch(LinFu.AOP.Interfaces.IExceptionHandlerInfo)">
2296      <summary>
2297            Handles the exception specified in the <paramref name="exceptionHandlerInfo" /> instance.
2298            </summary>
2299      <param name="exceptionHandlerInfo">The object that describes the exception being thrown.</param>
2300    </member>
2301    <member name="T:LinFu.AOP.Interfaces.FieldInterceptorRegistry">
2302      <summary>
2303            Represents a registry class that allows users to intercept fields from a single location.
2304            </summary>
2305    </member>
2306    <member name="M:LinFu.AOP.Interfaces.FieldInterceptorRegistry.GetInterceptor(LinFu.AOP.Interfaces.IFieldInterceptionContext)">
2307      <summary>
2308            Gets current the <see cref="T:LinFu.AOP.Interfaces.IFieldInterceptionContext" /> associated with the <see cref="T:LinFu.AOP.Interfaces.FieldInterceptorRegistry" />.
2309            </summary>
2310      <param name="context">The <see cref="T:LinFu.AOP.Interfaces.IFieldInterceptionContext" /> instance that describes the state of the method call when the field getter or setter is called.</param>
2311      <returns>The field interceptor that will be used to preempt field getter and setter calls.</returns>
2312    </member>
2313    <member name="M:LinFu.AOP.Interfaces.FieldInterceptorRegistry.SetInterceptor(LinFu.AOP.Interfaces.IFieldInterceptor)">
2314      <summary>
2315            Sets current the <see cref="T:LinFu.AOP.Interfaces.IFieldInterceptionContext" /> that will be associated with the <see cref="T:LinFu.AOP.Interfaces.FieldInterceptorRegistry" />.
2316            </summary>
2317      <param name="interceptor">The field interceptor that will be used to preempt field getter and setter calls.</param>
2318    </member>
2319    <member name="T:LinFu.AOP.Interfaces.ExceptionHandlerRegistry">
2320      <summary>
2321            Represents a class that stores <see cref="T:LinFu.AOP.Interfaces.IExceptionHandler" /> instances in a central location.
2322            </summary>
2323    </member>
2324    <member name="M:LinFu.AOP.Interfaces.ExceptionHandlerRegistry.GetHandler(LinFu.AOP.Interfaces.IExceptionHandlerInfo)">
2325      <summary>
2326            Gets the <see cref="T:LinFu.AOP.Interfaces.IExceptionHandler" /> instance that can handle the current exception.
2327            </summary>
2328      <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IExceptionHandlerInfo" /> instance that describes the context of the thrown exception.</param>
2329      <returns>An exception handler.</returns>
2330    </member>
2331    <member name="M:LinFu.AOP.Interfaces.ExceptionHandlerRegistry.SetHandler(LinFu.AOP.Interfaces.IExceptionHandler)">
2332      <summary>
2333            Sets the <see cref="T:LinFu.AOP.Interfaces.IExceptionHandler" /> instance that can handle all thrown exceptions.
2334            </summary>
2335      <param name="handler">The exception handler.</param>
2336    </member>
2337    <member name="T:LinFu.AOP.Interfaces.BootstrapException">
2338      <summary>
2339            Represents an exception thrown when LinFu.AOP is unable to bootstrap itself.
2340            </summary>
2341    </member>
2342    <member name="M:LinFu.AOP.Interfaces.BootstrapException.#ctor(System.String,System.Exception)">
2343      <summary>
2344            Initializes a new instance of the <see cref="T:LinFu.AOP.Interfaces.BootstrapException" /> class.
2345            </summary>
2346      <param name="message">The exception message.</param>
2347      <param name="ex">The exception itself.</param>
2348    </member>
2349    <member name="T:LinFu.AOP.Interfaces.TypeActivatorRegistry">
2350      <summary>
2351            Represents a registry that allows users to statically register <see cref="T:LinFu.AOP.Interfaces.ITypeActivator" />
2352            instances.
2353            </summary>
2354    </member>
2355    <member name="M:LinFu.AOP.Interfaces.TypeActivatorRegistry.GetActivator(LinFu.AOP.Interfaces.ITypeActivationContext)">
2356      <summary>
2357            Obtains an activator for the given <paramref name="context" />.
2358            </summary>
2359      <param name="context">The <see cref="T:LinFu.AOP.Interfaces.ITypeActivationContext" /> instance that describes the object to be created.</param>
2360      <returns>A method activator.</returns>
2361    </member>
2362    <member name="M:LinFu.AOP.Interfaces.TypeActivatorRegistry.SetActivator(LinFu.AOP.Interfaces.ITypeActivator)">
2363      <summary>
2364            Sets the <see cref="T:LinFu.AOP.Interfaces.ITypeActivator" /> that will be used to 
2365            instantiate object instances.
2366            </summary>
2367      <param name="activator">The <see cref="T:LinFu.AOP.Interfaces.ITypeActivator" /> that will instantiate types.</param>
2368    </member>
2369    <member name="T:LinFu.AOP.Interfaces.IInvokeWrapper">
2370      <summary>
2371            Represents a special type of interceptor that can
2372            wrap itself around a method call.
2373            </summary>
2374    </member>
2375    <member name="M:LinFu.AOP.Interfaces.IInvokeWrapper.DoInvoke(LinFu.AOP.Interfaces.IInvocationInfo)">
2376      <summary>
2377            This method will provide the actual implementation
2378            for the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod">target method</see>
2379            instance.
2380            </summary>
2381      <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> associated with the method call.</param>
2382      <returns>The actual return value from the <see cref="P:LinFu.AOP.Interfaces.IInvocationInfo.TargetMethod" />.</returns>
2383    </member>
2384    <member name="T:LinFu.AOP.Interfaces.IActivationContext">
2385      <summary>
2386            Represents a class that describes a request to instantiate a particular object type.
2387            </summary>
2388    </member>
2389    <member name="P:LinFu.AOP.Interfaces.IActivationContext.TargetType">
2390      <summary>
2391            Gets the value indicating the type to be instantiated.
2392            </summary>
2393    </member>
2394    <member name="P:LinFu.AOP.Interfaces.IActivationContext.AdditionalArguments">
2395      <summary>
2396            Gets the value indicating the arguments that will be passed to the constructor during instantiation.
2397            </summary>
2398    </member>
2399    <member name="T:LinFu.AOP.Interfaces.IMethodReplacementProvider">
2400      <summary>
2401            Represents a type that can swap method body implementations at runtime.
2402            </summary>
2403    </member>
2404    <member name="M:LinFu.AOP.Interfaces.IMethodReplacementProvider.CanReplace(System.Object,LinFu.AOP.Interfaces.IInvocationInfo)">
2405      <summary>
2406            Determines whether or not the current method implementation can be replaced.
2407            </summary>
2408      <param name="host">The target instance of the method call.</param>
2409      <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> that describes the context of the method call.</param>
2410      <returns>
2411        <c>true</c> if the method can be intercepted; otherwise, it will return <c>false</c>.</returns>
2412    </member>
2413    <member name="M:LinFu.AOP.Interfaces.IMethodReplacementProvider.GetMethodReplacement(System.Object,LinFu.AOP.Interfaces.IInvocationInfo)">
2414      <summary>
2415            Obtains the <see cref="T:LinFu.AOP.Interfaces.IInterceptor" /> instance that will be used to replace the current method call.
2416            </summary>
2417      <param name="host">The target instance of the method call.</param>
2418      <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> that describes the context of the method call.</param>
2419      <returns>The interceptor that will intercept the method call itself.</returns>
2420    </member>
2421    <member name="T:LinFu.AOP.Interfaces.ITypeActivationContext">
2422      <summary>
2423            Represents a special type of <see cref="T:LinFu.AOP.Interfaces.IActivationContext" /> that can be used to instantiate a given type
2424            and can be used to describe the method that invoked the instantiation operation as well as specify the object
2425            instance that invoked the instantiation itself.
2426            </summary>
2427    </member>
2428    <member name="P:LinFu.AOP.Interfaces.ITypeActivationContext.Target">
2429      <summary>
2430            Gets the value indicating the object instance that initiated the object instantiation operation.
2431            </summary>
2432    </member>
2433    <member name="P:LinFu.AOP.Interfaces.ITypeActivationContext.TargetMethod">
2434      <summary>
2435            Gets the value indiating the <see cref="T:System.Reflection.MethodBase" /> instance that initiated the object instantiation operation.
2436            </summary>
2437    </member>
2438    <member name="T:LinFu.AOP.Interfaces.IFieldInterceptionContext">
2439      <summary>
2440            Represents a class that describes the state of a field just as it is being intercepted.
2441            </summary>
2442    </member>
2443    <member name="P:LinFu.AOP.Interfaces.IFieldInterceptionContext.Target">
2444      <summary>
2445            Gets a value indicating the target instance that is attached to the target field.
2446            </summary>
2447    </member>
2448    <member name="P:LinFu.AOP.Interfaces.IFieldInterceptionContext.TargetMethod">
2449      <summary>
2450            Gets a value indicating the host method that is currently accessing the target field.
2451            </summary>
2452    </member>
2453    <member name="P:LinFu.AOP.Interfaces.IFieldInterceptionContext.TargetField">
2454      <summary>
2455            Gets a value indicating the field that is currently being accessed by the target method.
2456            </summary>
2457    </member>
2458    <member name="P:LinFu.AOP.Interfaces.IFieldInterceptionContext.HostType">
2459      <summary>
2460            Gets a value indicating the <see cref="T:System.Type" /> that holds the target field.
2461            </summary>
2462    </member>
2463    <member name="T:LinFu.AOP.Interfaces.IActivatorHost">
2464      <summary>
2465            Represents a type that can intercept activation requests.
2466            </summary>
2467    </member>
2468    <member name="P:LinFu.AOP.Interfaces.IActivatorHost.Activator">
2469      <summary>
2470            Gets or sets the value indicating the <see cref="T:LinFu.AOP.Interfaces.ITypeActivator" /> that
2471            will be used to instantiate object types.
2472            </summary>
2473    </member>
2474    <member name="T:LinFu.AOP.Interfaces.IModifiableType">
2475      <summary>
2476            Represents a type that has been modified to support
2477            pervasive method interception.
2478            </summary>
2479    </member>
2480    <member name="P:LinFu.AOP.Interfaces.IModifiableType.IsInterceptionDisabled">
2481      <summary>
2482            Gets or sets the value indicating whether or not 
2483            method interception should be disabled.
2484            </summary>
2485    </member>
2486    <member name="T:LinFu.AOP.Interfaces.IActivator`1">
2487      <summary>
2488            Represents a class that can instantiate object instances.
2489            </summary>
2490      <typeparam name="TContext">
2491            The type that describes the context of the object instantiation.
2492            </typeparam>
2493    </member>
2494    <member name="M:LinFu.AOP.Interfaces.IActivator`1.CreateInstance(`0)">
2495      <summary>
2496            Creates an object instance.
2497            </summary>
2498      <param name="context">The context that describes the request to instantiate the target type.</param>
2499      <returns>A valid object instance.</returns>
2500    </member>
2501    <member name="T:LinFu.AOP.Interfaces.MethodCallReplacementProviderRegistry">
2502      <summary>
2503            Represents a static type that allows users to register a method replacement provider from a single location.
2504            </summary>
2505    </member>
2506    <member name="M:LinFu.AOP.Interfaces.MethodCallReplacementProviderRegistry.GetProvider(System.Object,LinFu.AOP.Interfaces.IInvocationInfo)">
2507      <summary>
2508            Returns the provider that is currently attached to the registry.
2509            </summary>
2510      <param name="host">The type that is currently being intercepted.</param>
2511      <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> object that describes the invocation context.</param>
2512      <returns>A <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> that will determine the code that will be executed once a target method is called.</returns>
2513    </member>
2514    <member name="M:LinFu.AOP.Interfaces.MethodCallReplacementProviderRegistry.SetProvider(LinFu.AOP.Interfaces.IMethodReplacementProvider)">
2515      <summary>
2516            Assigns the <paramref name="provider" /> to the MethodReplacementProvider registry.
2517            </summary>
2518      <returns>A <see cref="T:LinFu.AOP.Interfaces.IMethodReplacementProvider" /> that will determine the code that will be executed once a target method is called.</returns>
2519    </member>
2520    <member name="T:LinFu.AOP.Interfaces.ITypeActivator">
2521      <summary>
2522            Represents an <see cref="T:LinFu.AOP.Interfaces.IActivator`1" /> that can instantiate objects from within a particular method.
2523            </summary>
2524    </member>
2525    <member name="M:LinFu.AOP.Interfaces.ITypeActivator.CanActivate(LinFu.AOP.Interfaces.ITypeActivationContext)">
2526      <summary>
2527            Determines whether or not a type can be instantiated using the 
2528            <paramref name="context" />.
2529            </summary>
2530      <param name="context">The <see cref="T:LinFu.AOP.Interfaces.ITypeActivationContext" /> instance that describes the type to be created.</param>
2531      <returns>
2532        <c>true</c> if the type can be created; otherwise, it will return <c>false</c>.</returns>
2533    </member>
2534    <member name="T:LinFu.AOP.Interfaces.IInterceptor">
2535      <summary>
2536            Represents a class that can dynamically intercept method calls.
2537            </summary>
2538    </member>
2539    <member name="M:LinFu.AOP.Interfaces.IInterceptor.Intercept(LinFu.AOP.Interfaces.IInvocationInfo)">
2540      <summary>
2541            Intercepts a method call using the given
2542            <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.
2543            </summary>
2544      <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that will 
2545            contain all the necessary information associated with a 
2546            particular method call.</param>
2547      <returns>The return value of the target method. If the return type of the target
2548            method is <see cref="!:void" />, then the return value will be ignored.</returns>
2549    </member>
2550    <member name="T:LinFu.AOP.Interfaces.IBootStrappedComponent">
2551      <summary>
2552            Represents a type that will be automatically initialized once the LinFu.AOP assembly is loaded into memory.
2553            </summary>
2554    </member>
2555    <member name="M:LinFu.AOP.Interfaces.IBootStrappedComponent.Initialize">
2556      <summary>
2557            Initializes the bootstrapped component.
2558            </summary>
2559    </member>
2560    <member name="T:LinFu.AOP.Interfaces.IAroundInvokeProvider">
2561      <summary>
2562            Represents a class that injects code around a method implementation.
2563            </summary>
2564    </member>
2565    <member name="M:LinFu.AOP.Interfaces.IAroundInvokeProvider.GetSurroundingImplementation(LinFu.AOP.Interfaces.IInvocationInfo)">
2566      <summary>
2567            Gets the <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance that will be executed
2568            before and after the target method (specified in the <paramref name="context" /> parameter)
2569            is called.
2570            </summary>
2571      <param name="context">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> that describes the context of the method call at the call site.</param>        /// <returns>An <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance if the surrounding behavior can be found; otherwise, it should return <c>null</c>.</returns></member>
2572    <member name="T:LinFu.AOP.Interfaces.ActivationContext">
2573      <summary>
2574            Represents a class that describes a request to instantiate a particular object type.
2575            </summary>
2576    </member>
2577    <member name="M:LinFu.AOP.Interfaces.ActivationContext.#ctor(System.Type,System.Object[])">
2578      <summary>
2579            Initializes the context with the given parameters.
2580            </summary>
2581      <param name="concreteType">The type to be instantiated.</param>
2582      <param name="additionalArguments">The additional arguments that must be passed to the constructor.</param>
2583    </member>
2584    <member name="P:LinFu.AOP.Interfaces.ActivationContext.TargetType">
2585      <summary>
2586            Gets the value indicating the type to be instantiated.
2587            </summary>
2588    </member>
2589    <member name="P:LinFu.AOP.Interfaces.ActivationContext.AdditionalArguments">
2590      <summary>
2591            Gets the value indicating the arguments that will be passed to the constructor during instantiation.
2592            </summary>
2593    </member>
2594    <member name="T:LinFu.AOP.Interfaces.AroundMethodBodyRegistry">
2595      <summary>
2596            Represents a registry class that handles all class-level interception operations for all modified types.
2597            </summary>
2598    </member>
2599    <member name="M:LinFu.AOP.Interfaces.AroundMethodBodyRegistry.GetSurroundingImplementation(LinFu.AOP.Interfaces.IInvocationInfo)">
2600      <summary>
2601            Obtains the <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance for the given <paramref name="context" />.
2602            </summary>
2603      <param name="context">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the current method call.</param>
2604      <returns>An <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance that will be used to wrap a method call or method body.</returns>
2605    </member>
2606    <member name="M:LinFu.AOP.Interfaces.AroundMethodBodyRegistry.AddProvider(LinFu.AOP.Interfaces.IAroundInvokeProvider)">
2607      <summary>
2608            Adds an <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> to the list of provider instances.
2609            </summary>
2610      <param name="provider">The <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instance.</param>
2611    </member>
2612    <member name="M:LinFu.AOP.Interfaces.AroundMethodBodyRegistry.Clear">
2613      <summary>
2614            Clears the list of <see cref="T:LinFu.AOP.Interfaces.IAroundInvokeProvider" /> instances.
2615            </summary>
2616    </member>
2617    <member name="T:LinFu.AOP.Interfaces.FieldInterceptionContext">
2618      <summary>
2619            Represents a class that describes the state of a field just as it is being intercepted by a <see cref="T:LinFu.AOP.Interfaces.IFieldInterceptor" />.
2620            </summary>
2621    </member>
2622    <member name="M:LinFu.AOP.Interfaces.FieldInterceptionContext.#ctor(System.Object,System.Reflection.MethodBase,System.Reflection.FieldInfo,System.Type)">
2623      <summary>
2624            Initializes a new instance of the FieldInterceptionContext class.
2625            </summary>
2626      <param name="target">The target that hosts the given field.</param>
2627      <param name="targetMethod">The method that accessed the target field.</param>
2628      <param name="targetField">The field currently being accessed by the target method.</param>
2629      <param name="hostType">The type that hosts the target field.</param>
2630    </member>
2631    <member name="P:LinFu.AOP.Interfaces.FieldInterceptionContext.Target">
2632      <summary>
2633            Gets a value indicating the target instance that is attached to the target field.
2634            </summary>
2635    </member>
2636    <member name="P:LinFu.AOP.Interfaces.FieldInterceptionContext.TargetMethod">
2637      <summary>
2638            Gets a value indicating the host method that is currently accessing the target field.
2639            </summary>
2640    </member>
2641    <member name="P:LinFu.AOP.Interfaces.FieldInterceptionContext.TargetField">
2642      <summary>
2643            Gets a value indicating the field that is currently being accessed by the target method.
2644            </summary>
2645    </member>
2646    <member name="P:LinFu.AOP.Interfaces.FieldInterceptionContext.HostType">
2647      <summary>
2648            Gets a value indicating the <see cref="T:System.Type" /> that holds the target field.
2649            </summary>
2650    </member>
2651    <member name="T:LinFu.AOP.Interfaces.TypeActivationContext">
2652      <summary>
2653            Represents an <see cref="T:LinFu.AOP.Interfaces.ActivationContext" /> that can be used to instantiate a given type
2654            and be used to describe the method that invoked the instantiation operation as well as specify the object
2655            instance that invoked the instantiation itself.
2656            </summary>
2657    </member>
2658    <member name="M:LinFu.AOP.Interfaces.TypeActivationContext.#ctor(System.Object,System.Reflection.MethodBase,System.Type,System.Object[])">
2659      <summary>
2660            Initializes a new instance of the MethodActivationContext class.
2661            </summary>
2662      <param name="target">The object instance that initiated the activation request.</param>
2663      <param name="targetMethod">The method where the activation was invoked.</param>
2664      <param name="concreteType">The type to be constructed.</param>
2665      <param name="additionalArguments">The additional arguments that will be passed to the constructor.</param>
2666    </member>
2667    <member name="P:LinFu.AOP.Interfaces.TypeActivationContext.Target">
2668      <summary>
2669            Gets the value indicating the object instance that initiated the object instantiation operation.
2670            </summary>
2671    </member>
2672    <member name="P:LinFu.AOP.Interfaces.TypeActivationContext.TargetMethod">
2673      <summary>
2674            Gets the value indiating the <see cref="T:System.Reflection.MethodBase" /> instance that initiated the object instantiation operation.
2675            </summary>
2676    </member>
2677    <member name="T:LinFu.AOP.Interfaces.IFieldInterceptionHost">
2678      <summary>
2679            Represents a type that has been modified to intercept field getters and setters.
2680            </summary>
2681    </member>
2682    <member name="P:LinFu.AOP.Interfaces.IFieldInterceptionHost.FieldInterceptor">
2683      <summary>
2684            Gets or sets the value indicating the interceptor that will handle field getters and setters.
2685            </summary>
2686    </member>
2687    <member name="T:LinFu.AOP.Tasks.PostWeaveTask">
2688      <summary>
2689            Represents an MSBuild task for LinFu.AOP that allows users to inject an aspect framework into their applications
2690            at postbuild time.
2691            </summary>
2692    </member>
2693    <member name="M:LinFu.AOP.Tasks.PostWeaveTask.Execute">
2694      <summary>
2695            Executes the postweaver.
2696            </summary>
2697      <returns>Returns <c>true</c> if the operation succeeded. Otherwise, it will return <c>false</c>.</returns>
2698    </member>
2699    <member name="P:LinFu.AOP.Tasks.PostWeaveTask.TargetFile">
2700      <summary>
2701            Gets or sets the value indicating the full path and filename of the target assembly.
2702            </summary>
2703      <value>The target assembly filename.</value>
2704    </member>
2705    <member name="P:LinFu.AOP.Tasks.PostWeaveTask.OutputFile">
2706      <summary>
2707            Gets or sets the value indicating the full path and filename of the output assembly.
2708            </summary>
2709      <value>The output assembly filename.</value>
2710      <remarks>This field is optional; if blank, the default value will be the same value as the <see cref="P:LinFu.AOP.Tasks.PostWeaveTask.TargetFile" /> property.</remarks>
2711    </member>
2712    <member name="P:LinFu.AOP.Tasks.PostWeaveTask.InterceptAllMethodCalls">
2713      <summary>
2714            Gets or sets the value indicating whether or not third party method calls should be intercepted in the target assembly.
2715            </summary>
2716      <value>A boolean value indicating whether or not third party method call interception should be enabled.</value>
2717    </member>
2718    <member name="P:LinFu.AOP.Tasks.PostWeaveTask.InterceptAllMethodBodies">
2719      <summary>
2720            Gets or sets the value indicating whether or not method bodies should be intercepted in the target assembly.
2721            </summary>
2722      <value>A boolean value indicating whether or not method body interception should be enabled.</value>
2723    </member>
2724    <member name="P:LinFu.AOP.Tasks.PostWeaveTask.InterceptAllNewInstances">
2725      <summary>
2726            Gets or sets the value indicating whether or not new instances should be intercepted in the target assembly.
2727            </summary>
2728      <value>A boolean value indicating whether or not new instance interception should be enabled.</value>
2729    </member>
2730    <member name="P:LinFu.AOP.Tasks.PostWeaveTask.InterceptAllFields">
2731      <summary>
2732            Gets or sets the value indicating whether or not field reads and writes should be intercepted in the target assembly.
2733            </summary>
2734      <value>A boolean value indicating whether or not field reads and writes should be enabled.</value>
2735    </member>
2736    <member name="P:LinFu.AOP.Tasks.PostWeaveTask.InterceptAllExceptions">
2737      <summary>
2738            Gets or sets the value indicating whether or not thrown exceptions should be intercepted in the target assembly.
2739            </summary>
2740      <value>A boolean value indicating whether or not exception interception should be enabled.</value>
2741    </member>
2742    <member name="T:LinFu.Finders.Interfaces.ICriteria`1">
2743      <summary>
2744            Represents a class that describes the search criteria
2745            for a given item <typeparamref name="T">type</typeparamref>.
2746            </summary>
2747      <typeparam name="T">The target item type.</typeparam>
2748    </member>
2749    <member name="P:LinFu.Finders.Interfaces.ICriteria`1.Type">
2750      <summary>
2751            Gets or sets a value indicating the <see cref="T:LinFu.Finders.Interfaces.CriteriaType" />
2752            of the current <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" />.
2753            </summary>
2754    </member>
2755    <member name="P:LinFu.Finders.Interfaces.ICriteria`1.Predicate">
2756      <summary>
2757            The condition that will determine whether or not
2758            the target item matches the criteria.
2759            </summary>
2760    </member>
2761    <member name="P:LinFu.Finders.Interfaces.ICriteria`1.Weight">
2762      <summary>
2763            Gets or sets a value indicating the weight of the given <see cref="P:LinFu.Finders.Interfaces.ICriteria`1.Predicate" />.
2764            </summary>
2765    </member>
2766    <member name="T:LinFu.Finders.Criteria`1">
2767      <summary>
2768            Represents the default implementation of the <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" /> interface.
2769            </summary>
2770      <typeparam name="T">The type of item to test.</typeparam>
2771    </member>
2772    <member name="P:LinFu.Finders.Criteria`1.Type">
2773      <summary>
2774            Gets or sets a value indicating the <see cref="T:LinFu.Finders.Interfaces.CriteriaType" />
2775            of the current <see cref="T:LinFu.Finders.Criteria`1" />.
2776            </summary>
2777    </member>
2778    <member name="P:LinFu.Finders.Criteria`1.Predicate">
2779      <summary>
2780            The condition that will determine whether or not
2781            the target item matches the criteria.
2782            </summary>
2783    </member>
2784    <member name="P:LinFu.Finders.Criteria`1.Weight">
2785      <summary>
2786            The weight of the given <see cref="P:LinFu.Finders.Criteria`1.Predicate" />.
2787            </summary>
2788    </member>
2789    <member name="T:LinFu.Finders.FinderExtensions">
2790      <summary>
2791            A class that adds fuzzy search support to <see cref="T:System.Collections.Generic.IList`1" /> instances.
2792            </summary>
2793    </member>
2794    <member name="M:LinFu.Finders.FinderExtensions.AddCriteria``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}},LinFu.Finders.Interfaces.ICriteria{``0})">
2795      <summary>
2796            Applies a criteria to the <paramref name="list" /> of 
2797            fuzzy items.
2798            </summary>
2799      <typeparam name="TItem">The type of item to test.</typeparam>
2800      <param name="list">The list of <see cref="T:LinFu.Finders.Interfaces.IFuzzyItem`1" /> instances that represent a single test case in a fuzzy search.</param>
2801      <param name="criteria">The criteria to test against each item in the list.</param>
2802    </member>
2803    <member name="M:LinFu.Finders.FinderExtensions.AddCriteria``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}},System.Func{``0,System.Boolean})">
2804      <summary>
2805            Applies a criteria to the <paramref name="list" /> of 
2806            fuzzy items using the given <paramref name="predicate" />.
2807            </summary>
2808      <typeparam name="TItem">The type of item to test.</typeparam>
2809      <param name="list">The list of <see cref="T:LinFu.Finders.Interfaces.IFuzzyItem`1" /> instances that represent a single test case in a fuzzy search.</param>
2810      <param name="predicate">The condition that will be used to test the target item.</param>
2811    </member>
2812    <member name="M:LinFu.Finders.FinderExtensions.AddCriteria``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}},System.Func{``0,System.Boolean},LinFu.Finders.Interfaces.CriteriaType)">
2813      <summary>
2814            Applies a criteria to the <paramref name="list" /> of 
2815            fuzzy items using the given <paramref name="predicate" />.
2816            </summary>
2817      <typeparam name="TItem">The type of item to test.</typeparam>
2818      <param name="list">The list of <see cref="T:LinFu.Finders.Interfaces.IFuzzyItem`1" /> instances that represent a single test case in a fuzzy search.</param>
2819      <param name="predicate">The condition that will be used to test the target item.</param>
2820      <param name="criteriaType">The <see cref="T:LinFu.Finders.Interfaces.CriteriaType" /> to associate with the predicate.</param>
2821    </member>
2822    <member name="M:LinFu.Finders.FinderExtensions.AddCriteria``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}},System.Func{``0,System.Boolean},LinFu.Finders.Interfaces.CriteriaType,System.Int32)">
2823      <summary>
2824            Applies a criteria to the <paramref name="list" /> of 
2825            fuzzy items using the given <paramref name="predicate" />.
2826            </summary>
2827      <typeparam name="TItem">The type of item to test.</typeparam>
2828      <param name="list">The list of <see cref="T:LinFu.Finders.Interfaces.IFuzzyItem`1" /> instances that represent a single test case in a fuzzy search.</param>
2829      <param name="predicate">The condition that will be used to test the target item.</param>
2830      <param name="criteriaType">The <see cref="T:LinFu.Finders.Interfaces.CriteriaType" /> to associate with the predicate.</param>
2831      <param name="weight">The weight of the predicate value expressed in the number of tests that will be counted for/against the target item as a result of the predicate.</param>
2832    </member>
2833    <member name="M:LinFu.Finders.FinderExtensions.Add``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}},``0)">
2834      <summary>
2835            Adds an item to a fuzzy list.
2836            </summary>
2837      <typeparam name="T">The type of the item being added.</typeparam>
2838      <param name="list">The fuzzy list that will contain the new item.</param>
2839      <param name="item">The item being added.</param>
2840    </member>
2841    <member name="M:LinFu.Finders.FinderExtensions.BestMatch``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}})">
2842      <summary>
2843            Returns the FuzzyItem with the highest confidence score in a given
2844            <see cref="T:LinFu.Finders.Interfaces.IFuzzyItem`1" /> list.
2845            </summary>
2846      <typeparam name="TItem">The type of item being compared.</typeparam>
2847      <param name="list">The fuzzy list that contains the list of possible matches.</param>
2848      <returns>The item with the highest match.</returns>
2849    </member>
2850    <member name="M:LinFu.Finders.FinderExtensions.Reset``1(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{``0}})">
2851      <summary>
2852            Resets the scores of all fuzzy items in the current list.
2853            </summary>
2854      <typeparam name="TItem">The target item type.</typeparam>
2855      <param name="list">The fuzzy list itself.</param>
2856    </member>
2857    <member name="M:LinFu.Finders.FinderExtensions.AsFuzzyList``1(System.Collections.Generic.IEnumerable{``0})">
2858      <summary>
2859            Converts a list into a list of <see cref="T:LinFu.Finders.Interfaces.IFuzzyItem`1" /> objects.
2860            </summary>
2861      <typeparam name="TItem">The item type will be used in the fuzzy search.</typeparam>
2862      <param name="items">The target list to be converted.</param>
2863      <returns>A fuzzy list containing the elements from the given list.</returns>
2864    </member>
2865    <member name="T:LinFu.Finders.Interfaces.IFuzzyItem`1">
2866      <summary>
2867            Represents a search item in a fuzzy search list.
2868            </summary>
2869      <typeparam name="T">
2870      </typeparam>
2871    </member>
2872    <member name="M:LinFu.Finders.Interfaces.IFuzzyItem`1.Test(LinFu.Finders.Interfaces.ICriteria{`0})">
2873      <summary>
2874            Tests if the current item matches the given
2875            <paramref name="criteria" />.
2876            </summary>
2877      <param name="criteria">The <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" /> that determines whether or not the <see cref="P:LinFu.Finders.Interfaces.IFuzzyItem`1.Item" /> meets a particular description.</param>
2878    </member>
2879    <member name="M:LinFu.Finders.Interfaces.IFuzzyItem`1.Reset">
2880      <summary>
2881            Resets the item back to its initial state.
2882            </summary>
2883    </member>
2884    <member name="P:LinFu.Finders.Interfaces.IFuzzyItem`1.Confidence">
2885      <summary>
2886            Reports the probability of a match
2887            based on the <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" />
2888            that has been tested so far. 
2889            
2890            A value of 1.0 indicates a 100% match;
2891            A value of 0.0 equals a zero percent match.
2892            </summary>
2893    </member>
2894    <member name="P:LinFu.Finders.Interfaces.IFuzzyItem`1.Item">
2895      <summary>
2896            Gets the target item.
2897            </summary>
2898    </member>
2899    <member name="T:LinFu.Finders.FuzzyItem`1">
2900      <summary>
2901            Represents the default implementation of a weighted item in
2902            a fuzzy list.
2903            </summary>
2904      <typeparam name="T">The item type to be tested.</typeparam>
2905    </member>
2906    <member name="M:LinFu.Finders.FuzzyItem`1.#ctor(`0)">
2907      <summary>
2908            Initializes the <see cref="T:LinFu.Finders.FuzzyItem`1" /> class with the given <paramref name="item" />.
2909            </summary>
2910      <param name="item">An instance of the <typeparamref name="T">item type</typeparamref> that will be tested.</param>
2911    </member>
2912    <member name="M:LinFu.Finders.FuzzyItem`1.Test(LinFu.Finders.Interfaces.ICriteria{`0})">
2913      <summary>
2914            Tests if the current item matches the given
2915            <paramref name="criteria" />.
2916            </summary>
2917      <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>
2918    </member>
2919    <member name="M:LinFu.Finders.FuzzyItem`1.Reset">
2920      <summary>
2921            Resets the item back to its initial state.
2922            </summary>
2923    </member>
2924    <member name="P:LinFu.Finders.FuzzyItem`1.Confidence">
2925      <summary>
2926            Reports the probability of a match
2927            based on the <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" />
2928            that has been tested so far. 
2929            
2930            A value of 1.0 indicates a 100% match;
2931            A value of 0.0 equals a zero percent match.
2932            </summary>
2933    </member>
2934    <member name="P:LinFu.Finders.FuzzyItem`1.Item">
2935      <summary>
2936            Gets the target item.
2937            </summary>
2938    </member>
2939    <member name="T:LinFu.Finders.Interfaces.CriteriaType">
2940      <summary>
2941            The enumeration that determines how a <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" /> instance should
2942            be handled if the criteria test fails.
2943            </summary>
2944    </member>
2945    <member name="F:LinFu.Finders.Interfaces.CriteriaType.Standard">
2946      <summary>
2947            A failure in a criteria test will result in a lower weighted
2948            score for a target item.
2949            </summary>
2950    </member>
2951    <member name="F:LinFu.Finders.Interfaces.CriteriaType.Optional">
2952      <summary>
2953            A failure in a criteria test will be ignored, and hence,
2954            the criteria will be optional.
2955            </summary>
2956    </member>
2957    <member name="F:LinFu.Finders.Interfaces.CriteriaType.Critical">
2958      <summary>
2959            A failure in a criteria test will cause all previous and remaining
2960            tests against the criteria to fail.
2961            </summary>
2962    </member>
2963    <member name="T:LinFu.Finders.PredicateExtensions">
2964      <summary>
2965            A class that adds logical extensions to the <see cref="T:System.Func`2" /> predicate
2966            class.
2967            </summary>
2968    </member>
2969    <member name="M:LinFu.Finders.PredicateExtensions.Or``1(System.Func{``0,System.Boolean},System.Func{``0,System.Boolean})">
2970      <summary>
2971            Logically ORs two <see cref="T:System.Func`2" /> predicates together.
2972            </summary>
2973      <typeparam name="TItem">The type of item being compared.</typeparam>
2974      <param name="left">The left hand predicate.</param>
2975      <param name="right">The right hand predicate.</param>
2976      <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>
2977    </member>
2978    <member name="M:LinFu.Finders.PredicateExtensions.And``1(System.Func{``0,System.Boolean},System.Func{``0,System.Boolean})">
2979      <summary>
2980            Logically ANDs two <see cref="T:System.Func`2" /> predicates together.
2981            </summary>
2982      <typeparam name="TItem">The type of item being compared.</typeparam>
2983      <param name="left">The left hand predicate.</param>
2984      <param name="right">The right hand predicate.</param>
2985      <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>
2986    </member>
2987    <member name="M:LinFu.Finders.PredicateExtensions.Inverse``1(System.Func{``0,System.Boolean})">
2988      <summary>
2989            Logically negates a single predicate.
2990            </summary>
2991      <typeparam name="TItem">The type of item being compared.</typeparam>
2992      <param name="predicate">The predicate to negate.</param>
2993      <returns>Returns <c>true</c> if the given predicate is <c>false</c>.</returns>
2994    </member>
2995    <member name="T:LinFu.IoC.Configuration.FactoryAttribute">
2996      <summary>
2997            An attribute that marks a type as a custom factory.
2998            </summary>
2999    </member>
3000    <member name="F:LinFu.IoC.Configuration.FactoryAttribute.ArgumentTypes">
3001      <summary>
3002            The additional parameters supported by the custom factory.
3003            </summary>
3004    </member>
3005    <member name="F:LinFu.IoC.Configuration.FactoryAttribute.ServiceName">
3006      <summary>
3007            The service name that will be associated
3008            with the service type.
3009            </summary>
3010    </member>
3011    <member name="M:LinFu.IoC.Configuration.FactoryAttribute.#ctor(System.Type)">
3012      <summary>
3013            Marks a target type as a custom factory
3014            that can create object instances that
3015            can implement the <paramref name="serviceType" />.
3016            </summary>
3017      <param name="serviceType">The service type to create.</param>
3018    </member>
3019    <member name="P:LinFu.IoC.Configuration.FactoryAttribute.ServiceType">
3020      <summary>
3021            Gets the service type that can be created
3022            using the factory instance.
3023            </summary>
3024    </member>
3025    <member name="T:LinFu.IoC.Interfaces.IContainer">
3026      <summary>
3027            An inversion of control container interface.
3028            </summary>
3029    </member>
3030    <member name="M:LinFu.IoC.Interfaces.IContainer.AddFactory(System.Type,System.Collections.Generic.IEnumerable{System.Type},LinFu.IoC.Interfaces.IFactory)">
3031      <summary>
3032            Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it
3033            with the given <paramref name="serviceType">service type</paramref>.
3034            </summary>
3035      <param name="serviceType">The service type to associate with the factory</param>
3036      <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
3037      <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be responsible for creating the service instance</param>
3038    </member>
3039    <member name="M:LinFu.IoC.Interfaces.IContainer.Contains(System.Type,System.Collections.Generic.IEnumerable{System.Type})">
3040      <summary>
3041            Determines whether or not the container can create
3042            the given <paramref name="serviceType">service type</paramref>.
3043            </summary>
3044      <param name="serviceType">The type of service used to determine whether or not the given service can actually be created</param>
3045      <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
3046      <returns>A <see cref="T:System.Boolean">boolean</see> value that indicates whether or not the service exists.</returns>
3047    </member>
3048    <member name="M:LinFu.IoC.Interfaces.IContainer.GetService(System.Type,System.Object[])">
3049      <summary>
3050            Causes the container to instantiate the service with the given
3051            <paramref name="serviceType">service type</paramref>. If the service type cannot be created, then an
3052            exception will be thrown if the <see cref="P:LinFu.IoC.Interfaces.IContainer.SuppressErrors" /> property
3053            is set to false. Otherwise, it will simply return null.
3054            </summary>
3055      <param name="serviceType">The service type to instantiate.</param>
3056      <param name="additionalArguments">The additional arguments that will be used to instantiate the service type.</param>
3057      <returns>If successful, it will return a service instance that is compatible with the given type;
3058            otherwise, it will just return a null value.</returns>
3059    </member>
3060    <member name="P:LinFu.IoC.Interfaces.IContainer.AvailableServices">
3061      <summary>
3062            The list of services currently available inside the container.
3063            </summary>
3064    </member>
3065    <member name="P:LinFu.IoC.Interfaces.IContainer.SuppressErrors">
3066      <summary>
3067            Determines whether or not a container will throw an exception
3068            if the requested service is not found.
3069            </summary>
3070    </member>
3071    <member name="T:LinFu.IoC.Interfaces.IFactory">
3072      <summary>
3073            Allows an object to create its own service instances.
3074            </summary>
3075    </member>
3076    <member name="M:LinFu.IoC.Interfaces.IFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
3077      <summary>
3078            Creates a service instance using the given <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance.
3079            </summary>
3080      <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
3081      <returns>An object instance that represents the service to be created. This cannot be <c>null</c>.</returns>
3082    </member>
3083    <member name="T:LinFu.IoC.Interfaces.IFactoryRequest">
3084      <summary>
3085            Represents the parameters made to a <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance during
3086            a <see cref="M:LinFu.IoC.Interfaces.IFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)" /> method call.
3087            </summary>
3088    </member>
3089    <member name="P:LinFu.IoC.Interfaces.IFactoryRequest.Container">
3090      <summary>
3091            Gets or sets the value indicating the service container that made the service request.
3092            </summary>
3093    </member>
3094    <member name="P:LinFu.IoC.Interfaces.IFactoryRequest.ServiceName">
3095      <summary>
3096            Gets the value indicating the service name.
3097            </summary>
3098      <remarks>A null service name indicates that no service name was given during the request.</remarks>
3099    </member>
3100    <member name="P:LinFu.IoC.Interfaces.IFactoryRequest.ServiceType">
3101      <summary>
3102            Gets the value indicating the requested service type.
3103            </summary>
3104    </member>
3105    <member name="P:LinFu.IoC.Interfaces.IFactoryRequest.Arguments">
3106      <summary>
3107            Gets the value indicating the additional arguments given in the factory request.
3108            </summary>
3109    </member>
3110    <member name="T:LinFu.IoC.Configuration.IInitialize">
3111      <summary>
3112            Represents service classes that need to be initialized
3113            every time a particular <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
3114            instance creates that type.
3115            </summary>
3116    </member>
3117    <member name="T:LinFu.IoC.Configuration.ImplementsAttribute">
3118      <summary>
3119            The attribute used to specify how a service should be implemented
3120            in addition to its instancing behavior.
3121            </summary>
3122    </member>
3123    <member name="F:LinFu.IoC.Configuration.ImplementsAttribute.ServiceName">
3124      <summary>
3125            The name to associate with the given service.
3126            </summary>
3127    </member>
3128    <member name="M:LinFu.IoC.Configuration.ImplementsAttribute.#ctor(System.Type)">
3129      <summary>
3130            Allows users to add services to a container using a 
3131            given <paramref name="serviceType">service type</paramref>.
3132            </summary>
3133      <remarks>By default, each service will be created once per request.</remarks>
3134      <param name="serviceType">The <see cref="T:System.Type" /> of service to implement.</param>
3135    </member>
3136    <member name="M:LinFu.IoC.Configuration.ImplementsAttribute.#ctor(System.Type,LinFu.IoC.Configuration.LifecycleType)">
3137      <summary>
3138            Allows users to add services to a container using a 
3139            given <paramref name="serviceType">service type</paramref> and 
3140            <paramref name="lifeCycleType">lifecycle type</paramref>.
3141            </summary>
3142      <param name="serviceType">The <see cref="T:System.Type" /> of service to implement.</param>
3143      <param name="lifeCycleType">The instancing behavior to use with this implementation.</param>
3144    </member>
3145    <member name="P:LinFu.IoC.Configuration.ImplementsAttribute.ServiceType">
3146      <summary>
3147            The type of service that will be implemented.
3148            </summary>
3149    </member>
3150    <member name="P:LinFu.IoC.Configuration.ImplementsAttribute.LifecycleType">
3151      <summary>
3152            The instancing behavior of the service instance.        
3153            </summary>
3154      <seealso cref="P:LinFu.IoC.Configuration.ImplementsAttribute.LifecycleType" />
3155    </member>
3156    <member name="T:LinFu.IoC.Interfaces.IPostProcessor">
3157      <summary>
3158            Represents a class that can inspect or modify service requests
3159            from a given container once a service is created.
3160            </summary>
3161    </member>
3162    <member name="M:LinFu.IoC.Interfaces.IPostProcessor.PostProcess(LinFu.IoC.Interfaces.IServiceRequestResult)">
3163      <summary>
3164            Allows a <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> instance
3165            to inspect or modify the result of a service request.
3166            </summary>
3167      <seealso cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" />
3168      <param name="result">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> created as a result of the container operation.</param>
3169    </member>
3170    <member name="T:LinFu.IoC.Interfaces.IPreProcessor">
3171      <summary>
3172            Represents a class that can inspect or modify service requests
3173            from a given container before a service is created.
3174            </summary>
3175    </member>
3176    <member name="M:LinFu.IoC.Interfaces.IPreProcessor.Preprocess(LinFu.IoC.Interfaces.IServiceRequest)">
3177      <summary>
3178            Allows a <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> instance
3179            to inspect or modify the result of a service request
3180            just before the service is instantiated.
3181            </summary>
3182      <seealso cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" />
3183      <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>
3184    </member>
3185    <member name="T:LinFu.IoC.Interfaces.IServiceContainer">
3186      <summary>
3187            An inversion of control container that supports
3188            named services.
3189            </summary>
3190      <seealso name="IContainer" />
3191    </member>
3192    <member name="M:LinFu.IoC.Interfaces.IServiceContainer.AddFactory(System.String,System.Type,System.Collections.Generic.IEnumerable{System.Type},LinFu.IoC.Interfaces.IFactory)">
3193      <summary>
3194            Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it
3195            with the given <paramref name="serviceType">service type</paramref> and
3196            <paramref name="serviceName">service name</paramref>.
3197            </summary>
3198      <param name="serviceName">The name of the service to associate with the given <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</param>
3199      <param name="serviceType">The type of service that the factory will be able to create.</param>
3200      <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
3201      <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will create the object instance.</param>
3202    </member>
3203    <member name="M:LinFu.IoC.Interfaces.IServiceContainer.Contains(System.String,System.Type,System.Collections.Generic.IEnumerable{System.Type})">
3204      <summary>
3205            Determines whether or not a service can be created using
3206            the given <paramref name="serviceName">service name</paramref>
3207            and <paramref name="serviceType">service type</paramref>.
3208            </summary>
3209      <param name="serviceName">The name of the service to associate with the given <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</param>
3210      <param name="serviceType">The type of service that the factory will be able to create.</param>
3211      <param name="additionalParameterTypes">The list of additional parameters that the factory type must support.</param>
3212      <returns>Returns <c>true</c> if the service exists; otherwise, it will return <c>false</c>.</returns>
3213    </member>
3214    <member name="M:LinFu.IoC.Interfaces.IServiceContainer.GetService(System.String,System.Type,System.Object[])">
3215      <summary>
3216            Causes the container to instantiate the service with the given
3217            <paramref name="serviceType">service type</paramref>. If the service type cannot be created, then an
3218            exception will be thrown if the <see cref="P:LinFu.IoC.Interfaces.IContainer.SuppressErrors" /> property
3219            is set to false. Otherwise, it will simply return null.
3220            </summary>
3221      <param name="serviceName">The name of the service to instantiate.</param>
3222      <param name="serviceType">The service type to instantiate.</param>
3223      <param name="additionalArguments">The additional arguments that will be used to instantiate the service type.</param>
3224      <returns>If successful, it will return a service instance that is compatible with the given type;
3225            otherwise, it will just return a <c>null</c> value.</returns>
3226    </member>
3227    <member name="P:LinFu.IoC.Interfaces.IServiceContainer.PreProcessors">
3228      <summary>
3229            The list of preprocessors that will handle
3230            every service request before each actual service is created.
3231            </summary>
3232    </member>
3233    <member name="P:LinFu.IoC.Interfaces.IServiceContainer.PostProcessors">
3234      <summary>
3235            The list of postprocessors that will handle every
3236            service request result.
3237            </summary>
3238    </member>
3239    <member name="T:LinFu.IoC.Interfaces.IServiceInfo">
3240      <summary>
3241            A class that describes a single service
3242            provided by a container.
3243            </summary>
3244    </member>
3245    <member name="P:LinFu.IoC.Interfaces.IServiceInfo.ServiceName">
3246      <summary>
3247            The name of the service being created. By default, this property is blank.
3248            </summary>
3249    </member>
3250    <member name="P:LinFu.IoC.Interfaces.IServiceInfo.ServiceType">
3251      <summary>
3252            The type of service being requested.
3253            </summary>
3254    </member>
3255    <member name="P:LinFu.IoC.Interfaces.IServiceInfo.ArgumentTypes">
3256      <summary>
3257            Gets a value indicating the list of arguments required by this particular service.
3258            </summary>
3259    </member>
3260    <member name="T:LinFu.IoC.Interfaces.IServiceRequest">
3261      <summary>
3262            Represents a class that describes the context of a service request made to a service container.
3263            </summary>
3264    </member>
3265    <member name="P:LinFu.IoC.Interfaces.IServiceRequest.Container">
3266      <summary>
3267            The container that will handle the service request.
3268            </summary>
3269    </member>
3270    <member name="P:LinFu.IoC.Interfaces.IServiceRequest.ActualArguments">
3271      <summary>
3272            Gets or sets the value indicating the actual arguments that
3273            will be used for the service request.
3274            </summary>
3275    </member>
3276    <member name="P:LinFu.IoC.Interfaces.IServiceRequest.ProposedArguments">
3277      <summary>
3278            Gets the value indicating the original arguments that
3279            were given during the service request.
3280            </summary>
3281    </member>
3282    <member name="P:LinFu.IoC.Interfaces.IServiceRequest.ProposedFactory">
3283      <summary>
3284            Gets the value indicating the original <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance
3285            that will be used to handle the service request.
3286            </summary>
3287    </member>
3288    <member name="P:LinFu.IoC.Interfaces.IServiceRequest.ActualFactory">
3289      <summary>
3290            Gets or sets the value indicating the actual <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance
3291            that will be used to handle the service request.
3292            </summary>
3293    </member>
3294    <member name="T:LinFu.IoC.Interfaces.IServiceRequestResult">
3295      <summary>
3296            Represents the results returned when a service request
3297            is made against an <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
3298            </summary>
3299    </member>
3300    <member name="P:LinFu.IoC.Interfaces.IServiceRequestResult.ServiceName">
3301      <summary>
3302            The name of the service being created. By default, this property is blank.
3303            </summary>
3304    </member>
3305    <member name="P:LinFu.IoC.Interfaces.IServiceRequestResult.ServiceType">
3306      <summary>
3307            The type of service being requested.
3308            </summary>
3309    </member>
3310    <member name="P:LinFu.IoC.Interfaces.IServiceRequestResult.OriginalResult">
3311      <summary>
3312            The raw object reference created by the container itself.
3313            </summary>
3314    </member>
3315    <member name="P:LinFu.IoC.Interfaces.IServiceRequestResult.ActualResult">
3316      <summary>
3317            The result that will be returned from the container
3318            instead of the <see cref="P:LinFu.IoC.Interfaces.IServiceRequestResult.OriginalResult" />. 
3319            
3320            If this property is null, then the original result will be used.
3321            </summary>
3322    </member>
3323    <member name="P:LinFu.IoC.Interfaces.IServiceRequestResult.Container">
3324      <summary>
3325            The container that will handle the service request.
3326            </summary>
3327    </member>
3328    <member name="P:LinFu.IoC.Interfaces.IServiceRequestResult.AdditionalArguments">
3329      <summary>
3330            Gets the value indicating the additional arguments that
3331            were used during the service request.
3332            </summary>
3333    </member>
3334    <member name="T:LinFu.IoC.Configuration.LifecycleType">
3335      <summary>
3336            An enumeration that denotes the instance behavior
3337            of a particular object reference.
3338            </summary>
3339    </member>
3340    <member name="F:LinFu.IoC.Configuration.LifecycleType.OncePerRequest">
3341      <summary>
3342            This means that a new object instance 
3343            will be created on each call.
3344            </summary>
3345    </member>
3346    <member name="F:LinFu.IoC.Configuration.LifecycleType.OncePerThread">
3347      <summary>
3348            This means that a new object instance 
3349            will be created only once per thread.
3350            </summary>
3351    </member>
3352    <member name="F:LinFu.IoC.Configuration.LifecycleType.Singleton">
3353      <summary>
3354            This means that only a single object instance
3355            will ever be created in spite of the number of
3356            subsequent requests for a new object instance.
3357            </summary>
3358    </member>
3359    <member name="T:LinFu.IoC.CompositePostProcessor">
3360      <summary>
3361            Represents an <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> type that processes multiple <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> instances at once.
3362            </summary>
3363    </member>
3364    <member name="M:LinFu.IoC.CompositePostProcessor.#ctor(System.Collections.Generic.IEnumerable{LinFu.IoC.Interfaces.IPostProcessor})">
3365      <summary>
3366            Initializes the type using the given <paramref name="postProcessors" />.
3367            </summary>
3368      <param name="postProcessors">The list of <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> instances that will be handled by this type.</param>
3369    </member>
3370    <member name="M:LinFu.IoC.CompositePostProcessor.PostProcess(LinFu.IoC.Interfaces.IServiceRequestResult)">
3371      <summary>
3372            A method that passes every request result made
3373            to the list of postprocessors.
3374            </summary>
3375      <param name="result">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> instance that describes the result of the service request.</param>
3376      <returns>A <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> representing the results returned as a result of the postprocessors.</returns>
3377    </member>
3378    <member name="T:LinFu.IoC.CompositePreProcessor">
3379      <summary>
3380            Represents an <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" /> type that processes multiple <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" /> instances at once.
3381            </summary>
3382    </member>
3383    <member name="M:LinFu.IoC.CompositePreProcessor.#ctor(System.Collections.Generic.IEnumerable{LinFu.IoC.Interfaces.IPreProcessor})">
3384      <summary>
3385            Initializes the type using the given <paramref name="preProcessors" />.
3386            </summary>
3387      <param name="preProcessors">The list of <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" /> instances that will be handled by this type.</param>
3388    </member>
3389    <member name="M:LinFu.IoC.CompositePreProcessor.Preprocess(LinFu.IoC.Interfaces.IServiceRequest)">
3390      <summary>
3391            A method that passes every request result made
3392            to the list of preprocessors.
3393            </summary>
3394      <param name="request">The parameter that describes the context of the service request.</param>
3395    </member>
3396    <member name="T:LinFu.IoC.Configuration.Interfaces.IContainerActivationContext">
3397      <summary>
3398            Represents a class that describes a request to instantiate a particular object type using a given
3399            <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
3400            </summary>
3401    </member>
3402    <member name="P:LinFu.IoC.Configuration.Interfaces.IContainerActivationContext.Container">
3403      <summary>
3404            Gets the value indicating the <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance
3405            that will instantiate the <see cref="P:LinFu.AOP.Interfaces.IActivationContext.TargetType" />.
3406            </summary>
3407    </member>
3408    <member name="T:LinFu.IoC.Configuration.ContainerActivationContext">
3409      <summary>
3410            Represents a class that describes a request to instantiate a particular object type using a given
3411            <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
3412            </summary>
3413    </member>
3414    <member name="M:LinFu.IoC.Configuration.ContainerActivationContext.#ctor(System.Type,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
3415      <summary>
3416            Initializes the class with the given parameters.
3417            </summary>
3418      <param name="concreteType">The type to be instantiated.</param>
3419      <param name="container">The container that will be used to instantiate the target type.</param>
3420      <param name="additionalArguments">The additional arguments that must be passed to the constructor.</param>
3421    </member>
3422    <member name="P:LinFu.IoC.Configuration.ContainerActivationContext.Container">
3423      <summary>
3424            Gets the value indicating the <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance
3425            that will instantiate the <see cref="P:LinFu.AOP.Interfaces.IActivationContext.TargetType" />.
3426            </summary>
3427    </member>
3428    <member name="T:LinFu.IoC.Configuration.DefaultActivator">
3429      <summary>
3430            Represents a class that can instantiate object instances.
3431            </summary>
3432    </member>
3433    <member name="M:LinFu.IoC.Configuration.DefaultActivator.CreateInstance(LinFu.IoC.Configuration.Interfaces.IContainerActivationContext)">
3434      <summary>
3435            Creates an object instance.
3436            </summary>
3437      <returns>A valid object instance.</returns>
3438    </member>
3439    <member name="M:LinFu.IoC.Configuration.DefaultActivator.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
3440      <summary>
3441            Initializes the class with the default services.
3442            </summary>
3443      <param name="container">The target service container.</param>
3444    </member>
3445    <member name="T:LinFu.IoC.Configuration.InjectAttribute">
3446      <summary>
3447            The attribute used to mark a property for autoinjection.
3448            </summary>
3449    </member>
3450    <member name="T:LinFu.IoC.Configuration.PostProcessorAttribute">
3451      <summary>
3452            Marks a target type as an <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" />
3453            instance that can be injected into a
3454            <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
3455            </summary>
3456    </member>
3457    <member name="T:LinFu.IoC.Configuration.PreprocessorAttribute">
3458      <summary>
3459            Marks a target type as an <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" />
3460            instance that can be injected into a
3461            <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
3462            </summary>
3463    </member>
3464    <member name="T:LinFu.IoC.Configuration.Interfaces.IMethodBuilder`1">
3465      <summary>
3466            Represents a class that is responsible for generating methods
3467            from other existing methods.
3468            </summary>
3469      <typeparam name="TMethod">The method type to generate.</typeparam>
3470    </member>
3471    <member name="M:LinFu.IoC.Configuration.Interfaces.IMethodBuilder`1.CreateMethod(`0)">
3472      <summary>
3473            Creates a method from the <paramref name="existingMethod" />.
3474            </summary>
3475      <param name="existingMethod">The method that will be used to define the new method.</param>
3476      <returns>A method based on the old method.</returns>
3477    </member>
3478    <member name="T:LinFu.IoC.Configuration.BaseMethodBuilder`1">
3479      <summary>
3480            Represents the default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodBuilder`1" /> interface.
3481            </summary>
3482      <typeparam name="TMethod">The method type to generate.</typeparam>
3483    </member>
3484    <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.CreateMethod(`0)">
3485      <summary>
3486            Creates a method from the <paramref name="existingMethod" />.
3487            </summary>
3488      <param name="existingMethod">The method that will be used to define the new method.</param>
3489      <returns>A method based on the old method.</returns>
3490    </member>
3491    <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.PushMethodArguments(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase)">
3492      <summary>
3493            Pushes the method arguments onto the stack.
3494            </summary>
3495      <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the target method body.</param>
3496      <param name="targetMethod">The target method that will be invoked.</param>
3497    </member>
3498    <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.GetParameterList(`0,System.Type[])">
3499      <summary>
3500            Determines the parameter types of the dynamically generated method.
3501            </summary>
3502      <param name="existingMethod">The target method.</param>
3503      <param name="parameterTypes">The target method argument types.</param>
3504      <returns>The list of <see cref="T:System.Type" /> objects that describe the signature of the method to generate.</returns>
3505    </member>
3506    <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.PushInstance(System.Reflection.Emit.ILGenerator,`0)">
3507      <summary>
3508            Pushes the method target onto the stack.
3509            </summary>
3510      <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> that belongs to the method body.</param>
3511      <param name="method">The current method.</param>
3512    </member>
3513    <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.GetReturnType(`0)">
3514      <summary>
3515            Determines the return type from the target <paramref name="method" />.
3516            </summary>
3517      <param name="method">The target method itself.</param>
3518      <returns>The method return type.</returns>
3519    </member>
3520    <member name="M:LinFu.IoC.Configuration.BaseMethodBuilder`1.EmitCall(System.Reflection.Emit.ILGenerator,`0)">
3521      <summary>
3522            Emits the instruction to call the target <paramref name="method" /></summary>
3523      <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the target method body.</param>
3524      <param name="method">The method that will be invoked.</param>
3525    </member>
3526    <member name="T:LinFu.IoC.Configuration.Interfaces.IMethodInvoke`1">
3527      <summary>
3528            Represents a type that can invoke a method
3529            using a given set of method arguments.
3530            </summary>
3531    </member>
3532    <member name="M:LinFu.IoC.Configuration.Interfaces.IMethodInvoke`1.Invoke(System.Object,`0,System.Object[])">
3533      <summary>
3534            Invokes the <paramref name="targetMethod" />
3535            using the given <paramref name="arguments" />.
3536            </summary>
3537      <param name="target">The target object instance.</param>
3538      <param name="targetMethod">The target method to invoke.</param>
3539      <param name="arguments">The arguments to be used with the method.</param>
3540      <returns>The method return value.</returns>
3541    </member>
3542    <member name="T:LinFu.IoC.Configuration.ConstructorInvoke">
3543      <summary>
3544            A class that invokes constructor instances.
3545            </summary>
3546    </member>
3547    <member name="M:LinFu.IoC.Configuration.ConstructorInvoke.Invoke(System.Object,System.Reflection.ConstructorInfo,System.Object[])">
3548      <summary>
3549            Invokes the <paramref name="targetMethod" /> constructor
3550            using the given <paramref name="arguments" />.
3551            </summary>
3552      <param name="target">The target object instance.</param>
3553      <param name="targetMethod">The target method to invoke.</param>
3554      <param name="arguments">The arguments to be used with the method.</param>
3555      <returns>The method return value.</returns>
3556    </member>
3557    <member name="T:LinFu.IoC.Configuration.ConstructorMethodBuilder">
3558      <summary>
3559            A method builder that generates dynamic methods using existing constructors.
3560            </summary>
3561    </member>
3562    <member name="M:LinFu.IoC.Configuration.ConstructorMethodBuilder.GetReturnType(System.Reflection.ConstructorInfo)">
3563      <summary>
3564            Returns the declaring type of the target constructor.
3565            </summary>
3566      <param name="constructor">
3567      </param>
3568      <returns>The declaring type of the target constructor.</returns>
3569    </member>
3570    <member name="M:LinFu.IoC.Configuration.ConstructorMethodBuilder.EmitCall(System.Reflection.Emit.ILGenerator,System.Reflection.ConstructorInfo)">
3571      <summary>
3572            Emits an instruction that instantiates the type associated with the
3573            <paramref name="constructor" />.
3574            </summary>
3575      <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the target method body.</param>
3576      <param name="constructor">The target constructor.</param>
3577    </member>
3578    <member name="T:LinFu.IoC.Configuration.Interfaces.IConstructorArgumentResolver">
3579      <summary>
3580            Represents a type that determines the method arguments that should be used for a given constructor.
3581            </summary>
3582    </member>
3583    <member name="M:LinFu.IoC.Configuration.Interfaces.IConstructorArgumentResolver.GetConstructorArguments(System.Reflection.ConstructorInfo,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
3584      <summary>
3585            Determines the parameter values that should be used for a given constructor.
3586            </summary>
3587      <param name="constructor">The target constructor.</param>
3588      <param name="container">The host container instance.</param>
3589      <param name="additionalArguments">The list of additional arguments that should be combined with the arguments from the container.</param>
3590      <returns>A list of arguments that will be used for the given constructor.</returns>
3591    </member>
3592    <member name="T:LinFu.IoC.Configuration.Interfaces.INamedType">
3593      <summary>
3594            Represents a named type.
3595            </summary>
3596    </member>
3597    <member name="P:LinFu.IoC.Configuration.Interfaces.INamedType.Name">
3598      <summary>
3599            Gets or sets a value indicating the name that will be associated with the current type.
3600            </summary>
3601    </member>
3602    <member name="P:LinFu.IoC.Configuration.Interfaces.INamedType.Type">
3603      <summary>
3604            Gets or sets the value indicating the current target type.
3605            </summary>
3606    </member>
3607    <member name="T:LinFu.IoC.Configuration.NamedType">
3608      <summary>
3609            Represents a named type.
3610            </summary>
3611    </member>
3612    <member name="M:LinFu.IoC.Configuration.NamedType.#ctor">
3613      <summary>
3614            Initializes a new instance of the <see cref="T:LinFu.IoC.Configuration.NamedType" /> class.
3615            </summary>
3616    </member>
3617    <member name="M:LinFu.IoC.Configuration.NamedType.#ctor(System.Type)">
3618      <summary>
3619            Initializes a new instance of the <see cref="T:LinFu.IoC.Configuration.NamedType" /> class.
3620            </summary>
3621      <param name="currentType">The current type.</param>
3622    </member>
3623    <member name="M:LinFu.IoC.Configuration.NamedType.#ctor(System.Reflection.ParameterInfo)">
3624      <summary>
3625            Initializes a new instance of the <see cref="T:LinFu.IoC.Configuration.NamedType" /> class.
3626            </summary>
3627      <param name="parameter">The target parameter.</param>
3628    </member>
3629    <member name="M:LinFu.IoC.Configuration.NamedType.#ctor(System.Reflection.PropertyInfo)">
3630      <summary>
3631            Initializes a new instance of the <see cref="T:LinFu.IoC.Configuration.NamedType" /> class.
3632            </summary>
3633      <param name="property">The target property.</param>
3634    </member>
3635    <member name="P:LinFu.IoC.Configuration.NamedType.Name">
3636      <summary>
3637            Gets or sets a value indicating the name that will be associated with the current type.
3638            </summary>
3639    </member>
3640    <member name="P:LinFu.IoC.Configuration.NamedType.Type">
3641      <summary>
3642            Gets or sets the value indicating the current target type.
3643            </summary>
3644    </member>
3645    <member name="T:LinFu.IoC.Configuration.Resolvers.ConstructorArgumentResolver">
3646      <summary>
3647            Represents a class that determines the method arguments that should be used for a given constructor.
3648            </summary>
3649    </member>
3650    <member name="M:LinFu.IoC.Configuration.Resolvers.ConstructorArgumentResolver.GetConstructorArguments(System.Reflection.ConstructorInfo,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
3651      <summary>
3652            Determines the parameter values that should be used for a given constructor.
3653            </summary>
3654      <param name="constructor">The target constructor.</param>
3655      <param name="container">The host container instance.</param>
3656      <param name="additionalArguments">The list of additional arguments that should be combined with the arguments from the container.</param>
3657      <returns>A list of arguments that will be used for the given constructor.</returns>
3658    </member>
3659    <member name="M:LinFu.IoC.Configuration.Resolvers.ConstructorArgumentResolver.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
3660      <summary>
3661            Initializes the class with the default services.
3662            </summary>
3663      <param name="container">The target service container.</param>
3664    </member>
3665    <member name="M:LinFu.IoC.Configuration.Resolvers.ConstructorArgumentResolver.GetMissingParameterTypes(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable{System.Object})">
3666      <summary>
3667            Determines which parameter types need to be supplied to invoke a particular
3668            <paramref name="constructor" />  instance.
3669            </summary>
3670      <param name="constructor">The target constructor.</param>
3671      <param name="additionalArguments">The additional arguments that will be used to invoke the constructor.</param>
3672      <returns>The list of parameter types that are still missing parameter values.</returns>
3673    </member>
3674    <member name="T:LinFu.IoC.ContainerExtensions">
3675      <summary>
3676            A class that adds generics support to existing 
3677            <see cref="T:LinFu.IoC.Interfaces.IContainer" /> and <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
3678            instances.
3679            </summary>
3680    </member>
3681    <member name="M:LinFu.IoC.ContainerExtensions.LoadFrom(LinFu.IoC.Interfaces.IServiceContainer,LinFu.Reflection.IAssemblyLoader,System.String,System.String,LinFu.Reflection.ILoader{LinFu.IoC.Interfaces.IServiceContainer})">
3682      <summary>
3683            Loads a set of <paramref name="searchPattern">files</paramref> from the <paramref name="directory">target directory</paramref>
3684            using a custom <see cref="T:LinFu.Reflection.IAssemblyLoader" /> instance.
3685            </summary>
3686      <param name="container">The container to be loaded.</param>
3687      <param name="assemblyLoader">The custom <see cref="T:LinFu.Reflection.IAssemblyLoader" /> that will be used to load the target assemblies from disk.</param>
3688      <param name="directory">The target directory.</param>
3689      <param name="searchPattern">The search pattern that describes the list of files to be loaded.</param>
3690      <param name="customLoader">The custom loader that will be used to load the container.</param>
3691    </member>
3692    <member name="M:LinFu.IoC.ContainerExtensions.LoadFrom(LinFu.IoC.Interfaces.IServiceContainer,LinFu.Reflection.IAssemblyLoader,System.String,System.String)">
3693      <summary>
3694            Loads a set of <paramref name="searchPattern">files</paramref> from the <paramref name="directory">target directory</paramref>
3695            using a custom <see cref="T:LinFu.Reflection.IAssemblyLoader" /> instance.
3696            </summary>
3697      <param name="container">The container to be loaded.</param>
3698      <param name="assemblyLoader">The custom <see cref="T:LinFu.Reflection.IAssemblyLoader" /> that will be used to load the target assemblies from disk.</param>
3699      <param name="directory">The target directory.</param>
3700      <param name="searchPattern">The search pattern that describes the list of files to be loaded.</param>
3701    </member>
3702    <member name="M:LinFu.IoC.ContainerExtensions.LoadFrom(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.String,LinFu.Reflection.ILoader{LinFu.IoC.Interfaces.IServiceContainer})">
3703      <summary>
3704            Loads a set of <paramref name="searchPattern">files</paramref> from the <paramref name="directory">target directory</paramref>.
3705            </summary>
3706      <param name="container">The container to be loaded.</param>
3707      <param name="directory">The target directory.</param>
3708      <param name="searchPattern">The search pattern that describes the list of files to be loaded.</param>
3709      <param name="customLoader">The custom loader that will be used to load the container.</param>
3710    </member>
3711    <member name="M:LinFu.IoC.ContainerExtensions.LoadFrom(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.String)">
3712      <summary>
3713            Loads a set of <paramref name="searchPattern">files</paramref> from the <paramref name="directory">target directory</paramref>.
3714            </summary>
3715      <param name="container">The container to be loaded.</param>
3716      <param name="directory">The target directory.</param>
3717      <param name="searchPattern">The search pattern that describes the list of files to be loaded.</param>
3718    </member>
3719    <member name="M:LinFu.IoC.ContainerExtensions.LoadFromBaseDirectory(LinFu.IoC.Interfaces.IServiceContainer,System.String)">
3720      <summary>
3721            Loads a set of <paramref name="searchPattern">files</paramref> from the application base directory.
3722            </summary>
3723      <param name="container">The container to be loaded.</param>
3724      <param name="searchPattern">The search pattern that describes the list of files to be loaded.</param>
3725    </member>
3726    <member name="M:LinFu.IoC.ContainerExtensions.AutoCreateFrom(System.Type,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
3727      <summary>
3728            Automatically instantiates a <paramref name="concreteType" />
3729            with the constructor with the most resolvable parameters from
3730            the given <paramref name="container" /> instance.
3731            </summary>
3732      <remarks>
3733            This method only performs constructor injection on the target type. If you need any other form of injection (such as property injection), you'll need to 
3734            register your type and instantiate it with the <see cref="M:LinFu.IoC.ContainerExtensions.GetService``1(LinFu.IoC.Interfaces.IServiceContainer,System.Object[])" /> method.
3735            </remarks>
3736      <param name="container">The service container that contains the arguments that will automatically be injected into the constructor.</param>
3737      <param name="concreteType">The type to instantiate.</param>
3738      <param name="additionalArguments">The list of arguments to pass to the target type.</param>
3739      <returns>A valid, non-null object reference.</returns>
3740    </member>
3741    <member name="M:LinFu.IoC.ContainerExtensions.AutoLoadFrom(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.String)">
3742      <summary>
3743            Automatically loads assemblies from the given <paramref name="directory" /> whenever an assembly
3744            matching the given <paramref name="fileSpec" /> is dropped into the given directory.
3745            </summary>
3746      <param name="container">The service container that will automatically be configured whenever a file change is detected.</param>
3747      <param name="directory">The target directory.</param>
3748      <param name="fileSpec">The assembly file pattern.</param>
3749    </member>
3750    <member name="M:LinFu.IoC.ContainerExtensions.LoadFrom(LinFu.IoC.Interfaces.IServiceContainer,System.Reflection.Assembly)">
3751      <summary>
3752            Loads an existing <paramref name="assembly" /> into the container.
3753            </summary>
3754      <param name="container">The target container to be configured.</param>
3755      <param name="assembly">The assembly to be loaded.</param>
3756    </member>
3757    <member name="M:LinFu.IoC.ContainerExtensions.CreateDefaultContainerLoader(LinFu.Reflection.ILoader{LinFu.IoC.Interfaces.IServiceContainer})">
3758      <summary>
3759            Generates the default <see cref="T:LinFu.IoC.Configuration.AssemblyContainerLoader" /> for a <see cref="T:LinFu.IoC.Configuration.Loader" /> class instance.
3760            </summary>
3761      <param name="loader">The loader that will load the target container.</param>
3762      <returns>A valid <see cref="T:LinFu.IoC.Configuration.AssemblyContainerLoader" /> instance.</returns>
3763    </member>
3764    <member name="M:LinFu.IoC.ContainerExtensions.SetCustomPropertyInjectionAttribute(LinFu.IoC.Interfaces.IServiceContainer,System.Type)">
3765      <summary>
3766            Sets the custom attribute type that will be used to mark properties
3767            for automatic injection.
3768            </summary>
3769      <param name="container">The target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</param>
3770      <param name="attributeType">The custom property attribute that will be used to mark properties for injection.</param>
3771    </member>
3772    <member name="M:LinFu.IoC.ContainerExtensions.SetCustomMethodInjectionAttribute(LinFu.IoC.Interfaces.IServiceContainer,System.Type)">
3773      <summary>
3774            Sets the custom attribute type that will be used to mark methods
3775            for automatic injection.
3776            </summary>
3777      <param name="container">The target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</param>
3778      <param name="attributeType">The custom property attribute that will be used to mark method for injection.</param>
3779    </member>
3780    <member name="M:LinFu.IoC.ContainerExtensions.SetCustomFieldInjectionAttribute(LinFu.IoC.Interfaces.IServiceContainer,System.Type)">
3781      <summary>
3782            Sets the custom attribute type that will be used to mark fields
3783            for automatic injection.
3784            </summary>
3785      <param name="container">The target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</param>
3786      <param name="attributeType">The custom property attribute that will be used to mark fields for injection.</param>
3787    </member>
3788    <member name="M:LinFu.IoC.ContainerExtensions.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
3789      <summary>
3790            Initializes the target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
3791            with the default services.
3792            </summary>
3793      <param name="container">
3794      </param>
3795    </member>
3796    <member name="M:LinFu.IoC.ContainerExtensions.AutoCreate(LinFu.IoC.Interfaces.IServiceContainer,System.Type,System.Object[])">
3797      <summary>
3798            Automatically instantiates a <paramref name="concreteType" />
3799            with the constructor with the most resolvable parameters from
3800            the given <paramref name="container" /> instance.
3801            </summary>
3802      <param name="container">The service container that contains the arguments that will automatically be injected into the constructor.</param>
3803      <param name="concreteType">The type to instantiate.</param>
3804      <param name="additionalArguments">The list of arguments to pass to the target type.</param>
3805      <returns>A valid, non-null object reference.</returns>
3806    </member>
3807    <member name="M:LinFu.IoC.ContainerExtensions.AutoCreate``1(LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
3808      <summary>
3809            Automatically instantiates a <typeparamref name="T" /> type
3810            with the constructor with the most resolvable parameters from
3811            the given <paramref name="container" /> instance.
3812            </summary>
3813      <typeparam name="T">The type to instantiate.</typeparam>
3814      <param name="container">The service container that contains the arguments that will automatically be injected into the constructor.</param>
3815      <param name="additionalArguments">The list of arguments to pass to the target type's constructors.</param>
3816      <returns>A valid, non-null object reference.</returns>
3817    </member>
3818    <member name="M:LinFu.IoC.ContainerExtensions.PostProcess(LinFu.IoC.Interfaces.IServiceContainer,System.Type,System.Object,System.Object[])">
3819      <summary>
3820            Postprocesses an object instance as if it were created from the target <paramref name="container" />.
3821            </summary>
3822      <param name="container">The container that will postprocess the target <paramref name="instance" />.</param>
3823      <param name="concreteType">The type being processed.</param>
3824      <param name="instance">The target instance to be processed.</param>
3825      <param name="additionalArguments">The list of arguments to pass to the target type.</param>
3826      <returns>A valid, non-null object reference.</returns>
3827    </member>
3828    <member name="M:LinFu.IoC.ContainerExtensions.AutoCreateInternal(LinFu.IoC.Interfaces.IServiceContainer,System.Type,System.Object[])">
3829      <summary>
3830            Automatically instantiates a <paramref name="concreteType" />
3831            with the constructor with the most resolvable parameters from
3832            the given <paramref name="container" /> instance.
3833            </summary>
3834      <remarks>
3835            This method only performs constructor injection on the target type. If you need any other form of injection (such as property injection), you'll need to 
3836            register your type and instantiate it with the <see cref="M:LinFu.IoC.ContainerExtensions.GetService``1(LinFu.IoC.Interfaces.IServiceContainer,System.Object[])" /> method.
3837            </remarks>
3838      <param name="container">The service container that contains the arguments that will automatically be injected into the constructor.</param>
3839      <param name="concreteType">The type to instantiate.</param>
3840      <param name="additionalArguments">The list of arguments to pass to the target type.</param>
3841      <returns>A valid, non-null object reference.</returns>
3842    </member>
3843    <member name="M:LinFu.IoC.ContainerExtensions.AddDefaultServices(LinFu.IoC.Interfaces.IServiceContainer)">
3844      <summary>
3845            Initializes the container with the minimum required services.
3846            </summary>
3847      <param name="container">The target service container.</param>
3848    </member>
3849    <member name="M:LinFu.IoC.ContainerExtensions.GetService``1(LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
3850      <summary>
3851            Creates an instance of <typeparamref name="T" />
3852            using the given <paramref name="container" />.
3853            </summary>
3854      <typeparam name="T">The service type to create.</typeparam>
3855      <param name="container">The container that will instantiate the service.</param>
3856      <param name="additionalArguments">The additional arguments that will be used to construct the service type.</param>
3857      <returns>If successful, it will return a service instance that is compatible with the given type;
3858            otherwise, it will just return a <c>null</c> value.</returns>
3859    </member>
3860    <member name="M:LinFu.IoC.ContainerExtensions.GetService(LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Interfaces.IServiceInfo,System.Object[])">
3861      <summary>
3862            Instantiates a service that matches the <paramref name="info">service description</paramref>.
3863            </summary>
3864      <param name="container">The container that will instantiate the service.</param>
3865      <param name="info">The description of the requested service.</param>
3866      <param name="additionalArguments">The additional arguments that will be used to construct the service type.</param>
3867      <returns>If successful, it will return a service instance that is compatible with the given type;
3868            otherwise, it will just return a <c>null</c> value.</returns>
3869    </member>
3870    <member name="M:LinFu.IoC.ContainerExtensions.GetService``1(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Object[])">
3871      <summary>
3872            Creates an instance of <typeparamref name="T" />
3873            using the given <paramref name="container" />.
3874            </summary>
3875      <typeparam name="T">The service type to create.</typeparam>
3876      <param name="container">The container that will instantiate the service.</param>
3877      <param name="serviceName">The name of the service to instantiate.</param>
3878      <param name="additionalArguments">The additional arguments that will be used to construct the service type.</param>
3879      <returns>If successful, it will return a service instance that is compatible with the given type;
3880            otherwise, it will just return a <c>null</c> value.</returns>
3881    </member>
3882    <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.Type,System.Type)">
3883      <summary>
3884            Configures the container to instantiate the <paramref name="implementingType" />
3885            on every request for the <paramref name="serviceType" />.
3886            </summary>
3887      <param name="container">The container that will hold the service type.</param>
3888      <param name="serviceType">The type of service being implemented.</param>
3889      <param name="implementingType">The concrete type that will implement the service type.</param>
3890    </member>
3891    <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.Type,LinFu.IoC.Configuration.LifecycleType)">
3892      <summary>
3893            Registers the <paramref name="serviceTypeToRegisterAsSelf">service type</paramref>
3894            as both the implementing type and the service type using the given <paramref name="lifecycle" />.
3895            </summary>
3896      <param name="container">The container that will hold the service type.</param>
3897      <param name="serviceTypeToRegisterAsSelf">The service type that will be registered as both the service type and the implementing type.</param>
3898      <param name="lifecycle">The service <see cref="T:LinFu.IoC.Configuration.LifecycleType" />.</param>
3899    </member>
3900    <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.Type)">
3901      <summary>
3902            Registers the <paramref name="serviceTypeToRegisterAsSelf">service type</paramref>
3903            as both the implementing type and the service type.
3904            </summary>
3905      <param name="container">The container that will hold the service type.</param>
3906      <param name="serviceTypeToRegisterAsSelf">The service type that will be registered as both the service type and the implementing type.</param>
3907    </member>
3908    <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.Type,System.Type,LinFu.IoC.Configuration.LifecycleType)">
3909      <summary>
3910            Configures the container to instantiate the <paramref name="implementingType" />
3911            on every request for the <paramref name="serviceType" />.
3912            </summary>
3913      <param name="container">The container that will hold the service type.</param>
3914      <param name="serviceType">The type of service being implemented.</param>
3915      <param name="implementingType">The concrete type that will implement the service type.</param>
3916      <param name="lifecycle">The service <see cref="T:LinFu.IoC.Configuration.LifecycleType" />.</param>
3917    </member>
3918    <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Type,System.Object)">
3919      <summary>
3920            Registers an existing service instance with the container using the given
3921            <paramref name="serviceName" /> and <paramref name="serviceType" />.
3922            </summary>
3923      <param name="container">The target container instance.</param>
3924      <param name="serviceName">The service name that will be associated with the service instance.</param>
3925      <param name="serviceType">The target service type.</param>
3926      <param name="serviceInstance">The actual service instance that will represent the service type.</param>
3927    </member>
3928    <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.Type,System.Object)">
3929      <summary>
3930            Registers an existing service instance with the container using the given
3931            <paramref name="serviceType" />.
3932            </summary>
3933      <param name="container">The target container instance.</param>
3934      <param name="serviceType">The target service type.</param>
3935      <param name="serviceInstance">The actual service instance that will represent the service type.</param>
3936    </member>
3937    <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Type,System.Type,LinFu.IoC.Configuration.LifecycleType)">
3938      <summary>
3939            Configures the container to instantiate the <paramref name="implementingType" />
3940            on every request for the <paramref name="serviceType" />.
3941            </summary>
3942      <param name="serviceName">The name of the service to associate with the given <paramref name="serviceType" />.</param>
3943      <param name="container">The container that will hold the service type.</param>
3944      <param name="serviceType">The type of service being implemented.</param>
3945      <param name="implementingType">The concrete type that will implement the service type.</param>
3946      <param name="lifecycle">The service <see cref="T:LinFu.IoC.Configuration.LifecycleType" />.</param>
3947    </member>
3948    <member name="M:LinFu.IoC.ContainerExtensions.AddFactory``1(LinFu.IoC.Interfaces.IServiceContainer,System.String,LinFu.IoC.Interfaces.IFactory{``0})">
3949      <summary>
3950            Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it
3951            with the given <typeparamref name="T">service type</typeparamref> and
3952            <paramref name="serviceName">service name</paramref>.
3953            </summary>
3954      <param name="serviceName">The name of the service to associate with the given <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</param>
3955      <param name="container">The container that will hold the factory instance.</param>
3956      <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> instance that will create the object instance.</param>
3957    </member>
3958    <member name="M:LinFu.IoC.ContainerExtensions.AddFactory``1(LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Interfaces.IFactory{``0})">
3959      <summary>
3960            Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it
3961            with the given <typeparamref name="T">service type</typeparamref>.
3962            </summary>
3963      <param name="container">The container that will hold the factory instance.</param>
3964      <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> instance that will create the object instance.</param>
3965    </member>
3966    <member name="M:LinFu.IoC.ContainerExtensions.AddFactory(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Type,LinFu.IoC.Interfaces.IFactory)">
3967      <summary>
3968            Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it with the given
3969            <paramref name="serviceName" /> and <paramref name="serviceType" /></summary>
3970      <param name="container">The target container.</param>
3971      <param name="serviceName">The service name.</param>
3972      <param name="serviceType">The service type.</param>
3973      <param name="factory">The factory instance that will be responsible for creating the service itself.</param>
3974    </member>
3975    <member name="M:LinFu.IoC.ContainerExtensions.AddFactory(LinFu.IoC.Interfaces.IServiceContainer,System.Type,LinFu.IoC.Interfaces.IFactory)">
3976      <summary>
3977            Adds an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and associates it with the given
3978            <paramref name="serviceType" /></summary>
3979      <param name="container">The target container.</param>
3980      <param name="serviceType">The service type.</param>
3981      <param name="factory">The factory instance that will be responsible for creating the service itself.</param>
3982    </member>
3983    <member name="M:LinFu.IoC.ContainerExtensions.AddDefaultFactory(LinFu.IoC.Interfaces.IServiceContainer,System.Type,LinFu.IoC.Interfaces.IFactory)">
3984      <summary>
3985            Registers the <paramref name="factory" /> as the default factory instance
3986            that will be used if no other factory can be found for the current <paramref name="serviceType" />.
3987            </summary>
3988      <param name="container">The host container.</param>
3989      <param name="serviceType">The service type that will be created by the default factory.</param>
3990      <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>
3991    </member>
3992    <member name="M:LinFu.IoC.ContainerExtensions.AddService``1(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Func{``0})">
3993      <summary>
3994            Adds a service to the container by using the given <paramref name="factoryMethod" /> 
3995            to instantiate the service instance.
3996            </summary>
3997      <typeparam name="TResult">The service type itself.</typeparam>
3998      <param name="serviceName">The name that will be associated with the service instance.</param>
3999      <param name="container">The host container that will instantiate the service type.</param>
4000      <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
4001    </member>
4002    <member name="M:LinFu.IoC.ContainerExtensions.AddService``2(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Func{``0,``1})">
4003      <summary>
4004            Adds a service to the container by using the given <paramref name="factoryMethod" /> 
4005            to instantiate the service instance.
4006            </summary>
4007      <typeparam name="TResult">The service type itself.</typeparam>
4008      <typeparam name="T1">The first parameter type of the <paramref name="factoryMethod" />.</typeparam>
4009      <param name="serviceName">The name that will be associated with the service instance.</param>
4010      <param name="container">The host container that will instantiate the service type.</param>
4011      <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
4012    </member>
4013    <member name="M:LinFu.IoC.ContainerExtensions.AddService(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Type,System.MulticastDelegate)">
4014      <summary>
4015            Adds a service to the container by using the given <paramref name="factoryMethod" /> 
4016            to instantiate the service instance.
4017            </summary>
4018      <param name="serviceName">The name that will be associated with the service instance.</param>
4019      <param name="container">The host container that will instantiate the service type.</param>
4020      <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
4021      <param name="serviceType">The service type that will be implemented.</param>
4022    </member>
4023    <member name="M:LinFu.IoC.ContainerExtensions.AddService``3(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Func{``0,``1,``2})">
4024      <summary>
4025            Adds a service to the container by using the given <paramref name="factoryMethod" /> 
4026            to instantiate the service instance.
4027            </summary>
4028      <typeparam name="TResult">The service type itself.</typeparam>
4029      <typeparam name="T1">The first parameter type of the <paramref name="factoryMethod" />.</typeparam>
4030      <typeparam name="T2">The second parameter type of the <paramref name="factoryMethod" />.</typeparam>
4031      <param name="serviceName">The name that will be associated with the service instance.</param>
4032      <param name="container">The host container that will instantiate the service type.</param>
4033      <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
4034    </member>
4035    <member name="M:LinFu.IoC.ContainerExtensions.AddService``5(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Func{``0,``1,``2,``3,``4})">
4036      <summary>
4037            Adds a service to the container by using the given <paramref name="factoryMethod" /> 
4038            to instantiate the service instance.
4039            </summary>
4040      <typeparam name="TResult">The service type itself.</typeparam>
4041      <typeparam name="T1">The first parameter type of the <paramref name="factoryMethod" />.</typeparam>
4042      <typeparam name="T2">The second parameter type of the <paramref name="factoryMethod" />.</typeparam>
4043      <typeparam name="T3">The third parameter type of the <paramref name="factoryMethod" />.</typeparam>
4044      <typeparam name="T4">The third parameter type of the <paramref name="factoryMethod" />.</typeparam>
4045      <param name="serviceName">The name that will be associated with the service instance.</param>
4046      <param name="container">The host container that will instantiate the service type.</param>
4047      <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
4048    </member>
4049    <member name="M:LinFu.IoC.ContainerExtensions.AddService``4(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Func{``0,``1,``2,``3})">
4050      <summary>
4051            Adds a service to the container by using the given <paramref name="factoryMethod" /> 
4052            to instantiate the service instance.
4053            </summary>
4054      <typeparam name="TResult">The service type itself.</typeparam>
4055      <typeparam name="T1">The first parameter type of the <paramref name="factoryMethod" />.</typeparam>
4056      <typeparam name="T2">The second parameter type of the <paramref name="factoryMethod" />.</typeparam>
4057      <typeparam name="T3">The third parameter type of the <paramref name="factoryMethod" />.</typeparam>
4058      <param name="serviceName">The name that will be associated with the service instance.</param>
4059      <param name="container">The host container that will instantiate the service type.</param>
4060      <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
4061    </member>
4062    <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)">
4063      <summary>
4064            Adds a service to the container by using the given <paramref name="factoryMethod" /> and <paramref name="lifecycleType" />
4065            to instantiate the service instance.
4066            </summary>
4067      <typeparam name="T">The service type itself.</typeparam>
4068      <param name="serviceName">The name that will be associated with the service instance.</param>
4069      <param name="container">The host container that will instantiate the service type.</param>
4070      <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
4071      <param name="lifecycleType">The service <see cref="T:LinFu.IoC.Configuration.LifecycleType" /> type.</param>
4072    </member>
4073    <member name="M:LinFu.IoC.ContainerExtensions.AddService``1(LinFu.IoC.Interfaces.IServiceContainer,System.Func{LinFu.IoC.Interfaces.IFactoryRequest,``0},LinFu.IoC.Configuration.LifecycleType)">
4074      <summary>
4075            Adds a service to the container by using the given <paramref name="factoryMethod" /> and <paramref name="lifecycleType" />
4076            to instantiate the service instance.
4077            </summary>
4078      <typeparam name="T">The service type itself.</typeparam>
4079      <param name="container">The host container that will instantiate the service type.</param>
4080      <param name="factoryMethod">The factory method that will be used to create the actual service instance.</param>
4081      <param name="lifecycleType">The service <see cref="T:LinFu.IoC.Configuration.LifecycleType" /> type.</param>
4082    </member>
4083    <member name="M:LinFu.IoC.ContainerExtensions.AddService``1(LinFu.IoC.Interfaces.IServiceContainer,``0)">
4084      <summary>
4085            Adds an existing service instance to the container.
4086            </summary>
4087      <typeparam name="T">The type of service being added.</typeparam>
4088      <param name="container">The container that will hold the service instance.</param>
4089      <param name="instance">The service instance itself.</param>
4090    </member>
4091    <member name="M:LinFu.IoC.ContainerExtensions.AddService``1(LinFu.IoC.Interfaces.IServiceContainer,System.String,``0)">
4092      <summary>
4093            Adds an existing service instance to the container and
4094            associates it with the <paramref name="serviceName" />.
4095            </summary>
4096      <typeparam name="T">The type of service being added.</typeparam>
4097      <param name="container">The container that will hold the service instance.</param>
4098      <param name="serviceName">The name that will be associated with the service instance.</param>
4099      <param name="instance">The service instance itself.</param>
4100    </member>
4101    <member name="M:LinFu.IoC.ContainerExtensions.GetServices``1(LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
4102      <summary>
4103            Returns all the services in the container that match the given
4104            <typeparamref name="T">service type</typeparamref>.
4105            </summary>
4106      <typeparam name="T">The type of service to return.</typeparam>
4107      <param name="container">The target container.</param>
4108      <param name="additionalArguments">The additional arguments that will be used to construct the service type.</param>
4109      <returns>The list of services that implement the given service type.</returns>
4110    </member>
4111    <member name="M:LinFu.IoC.ContainerExtensions.GetServices(LinFu.IoC.Interfaces.IServiceContainer,System.Func{LinFu.IoC.Interfaces.IServiceInfo,System.Boolean},System.Object[])">
4112      <summary>
4113            Returns a list of services that match the given <paramref name="condition" />.
4114            </summary>
4115      <param name="condition">The predicate that determines which services should be returned.</param>
4116      <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>
4117      <param name="container">the target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</param>
4118      <param name="additionalArguments">The additional arguments that will be used to construct the service type.</param>
4119    </member>
4120    <member name="M:LinFu.IoC.ContainerExtensions.Contains(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Type,System.Object[])">
4121      <summary>
4122            Determines whether or not the container can instantiate the given <paramref name="serviceName" />
4123            and <paramref name="serviceType" /> using the given <paramref name="sampleArguments" />.
4124            </summary>
4125      <param name="container">The target container.</param>
4126      <param name="serviceName">The name of the requested service.</param>
4127      <param name="serviceType">The requested service type.</param>
4128      <param name="sampleArguments">The potential arguments for the service type.</param>
4129      <returns>Returns <c>true</c> if the requested services exist; otherwise, it will return <c>false</c>.</returns>
4130    </member>
4131    <member name="M:LinFu.IoC.ContainerExtensions.Contains(LinFu.IoC.Interfaces.IServiceContainer,System.Type)">
4132      <summary>
4133            Determines whether or not the container contains a service that matches
4134            the given <paramref name="serviceType" />.
4135            </summary>
4136      <param name="container">The target container.</param>
4137      <param name="serviceType">The requested service type.</param>
4138      <returns>Returns <c>true</c> if the requested services exist; otherwise, it will return <c>false</c>.</returns>
4139    </member>
4140    <member name="M:LinFu.IoC.ContainerExtensions.Contains(LinFu.IoC.Interfaces.IServiceContainer,System.String,System.Type)">
4141      <summary>
4142            Determines whether or not the container contains a service that matches
4143            the given <paramref name="serviceType" />.
4144            </summary>
4145      <param name="container">The target container.</param>
4146      <param name="serviceName">The requested service name.</param>
4147      <param name="serviceType">The requested service type.</param>
4148      <returns>Returns <c>true</c> if the requested services exist; otherwise, it will return <c>false</c>.</returns>
4149    </member>
4150    <member name="M:LinFu.IoC.ContainerExtensions.Contains(LinFu.IoC.Interfaces.IServiceContainer,System.Func{LinFu.IoC.Interfaces.IServiceInfo,System.Boolean})">
4151      <summary>
4152            Determines whether or not a container contains services that match
4153            the given <paramref name="condition" />.
4154            </summary>
4155      <param name="container">The target container.</param>
4156      <param name="condition">The predicate that will be used to determine whether or not the requested services exist.</param>
4157      <returns>Returns <c>true</c> if the requested services exist; otherwise, it will return <c>false</c>.</returns>
4158    </member>
4159    <member name="M:LinFu.IoC.ContainerExtensions.DisableAutoPropertyInjection(LinFu.IoC.Interfaces.IServiceContainer)">
4160      <summary>
4161            Disables automatic property injection for the <paramref name="container" />.
4162            </summary>
4163      <param name="container">The target container.</param>
4164    </member>
4165    <member name="M:LinFu.IoC.ContainerExtensions.DisableAutoMethodInjection(LinFu.IoC.Interfaces.IServiceContainer)">
4166      <summary>
4167            Disables automatic method injection for the <paramref name="container" />.
4168            </summary>
4169      <param name="container">The target container.</param>
4170    </member>
4171    <member name="M:LinFu.IoC.ContainerExtensions.DisableAutoFieldInjection(LinFu.IoC.Interfaces.IServiceContainer)">
4172      <summary>
4173            Disables automatic field injection for the <paramref name="container" />.
4174            </summary>
4175      <param name="container">The target container.</param>
4176    </member>
4177    <member name="M:LinFu.IoC.ContainerExtensions.DisableAutoInjectionFor``1(LinFu.IoC.Interfaces.IServiceContainer)">
4178      <summary>
4179            Disables automatic dependency injection for members that match the specific
4180            <typeparamref name="TMember" /> type.
4181            </summary>
4182      <typeparam name="TMember">The member injection type to disable.</typeparam>
4183      <param name="container">The target container.</param>
4184    </member>
4185    <member name="T:LinFu.IoC.FluentExtensions">
4186      <summary>
4187            A class that adds fluent syntax support to <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
4188            instances.
4189            </summary>
4190    </member>
4191    <member name="M:LinFu.IoC.FluentExtensions.Inject``1(LinFu.IoC.Interfaces.IServiceContainer,System.String)">
4192      <summary>
4193            Injects a <typeparamref name="TService" /> type
4194            into a <paramref name="container" /> using the
4195            given <paramref name="serviceName" /></summary>
4196      <typeparam name="TService">The type of service to inject.</typeparam>
4197      <param name="container">The container that will hold the actual service service instance.</param>
4198      <param name="serviceName">The name of the service to create.</param>
4199      <returns>A non-null <see cref="T:LinFu.IoC.Configuration.IUsingLambda`1" /> instance.</returns>
4200    </member>
4201    <member name="M:LinFu.IoC.FluentExtensions.Inject``1(LinFu.IoC.Interfaces.IServiceContainer)">
4202      <summary>
4203            Injects a <typeparamref name="TService" /> type
4204            into a <paramref name="container" />.
4205            </summary>
4206      <typeparam name="TService">The type of service to inject.</typeparam>
4207      <param name="container">The container that will hold the actual service service instance.</param>
4208      <returns>A non-null <see cref="T:LinFu.IoC.Configuration.IUsingLambda`1" /> instance.</returns>
4209    </member>
4210    <member name="M:LinFu.IoC.FluentExtensions.Initialize``1(LinFu.IoC.Interfaces.IServiceContainer)">
4211      <summary>
4212            Initializes services that match the given <typeparamref name="TService" /> type.
4213            </summary>
4214      <typeparam name="TService">The service type to initialize.</typeparam>
4215      <param name="container">The container that will create the service itself.</param>
4216      <returns>A <see cref="T:LinFu.IoC.Configuration.Interfaces.IPropertyInjectionLambda`1" /> instance. This cannot be <c>null</c>.</returns>
4217    </member>
4218    <member name="M:LinFu.IoC.FluentExtensions.Initialize``1(LinFu.IoC.Interfaces.IServiceContainer,System.String)">
4219      <summary>
4220            Initializes services that match the given <paramref name="serviceName" /> and <typeparamref name="TService" /> type.
4221            </summary>
4222      <typeparam name="TService">The service type to initialize.</typeparam>
4223      <param name="container">The container that will create the service itself.</param>
4224      <param name="serviceName">The name of the service to initialize.</param>
4225      <returns>A <see cref="T:LinFu.IoC.Configuration.Interfaces.IPropertyInjectionLambda`1" /> instance. This cannot be <c>null</c>.</returns>
4226    </member>
4227    <member name="M:LinFu.IoC.FluentExtensions.CreateAdapter``1(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,``0})">
4228      <summary>
4229            Converts a <see cref="T:System.Func`4" />
4230            lambda into an equivalent <see cref="T:System.Func`4" />
4231            instance.
4232            </summary>
4233      <typeparam name="TService">The type of service to create.</typeparam>
4234      <param name="func">The lambda function to be converted.</param>
4235      <returns>The equivalent <see cref="T:System.Func`2" />
4236            that delegates its calls back to the <paramref name="func" /> lambda function.</returns>
4237    </member>
4238    <member name="T:LinFu.IoC.Configuration.ResolutionExtensions">
4239      <summary>
4240            Adds methods that extend LinFu.IoC to support automatic constructor resolution.
4241            </summary>
4242    </member>
4243    <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.MustExistInContainer(System.Type)">
4244      <summary>
4245            Generates a predicate that determines whether or not a specific parameter type
4246            exists in a container.
4247            </summary>
4248      <param name="parameterType">The target <see cref="T:System.Type" />. </param>
4249      <returns>A a predicate that determines whether or not a specific type
4250            exists in a container</returns>
4251    </member>
4252    <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.ExistsAsEnumerableSetOfServices(System.Type)">
4253      <summary>
4254            Generates a predicate that determines whether or not a specific type is actually
4255            a list of services that can be created from a given container.
4256            </summary>
4257      <param name="parameterType">The target <see cref="T:System.Type" />. </param>
4258      <returns>A a predicate that determines whether or not a specific type
4259            exists as a list of services in a container</returns>
4260    </member>
4261    <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.ExistsAsServiceArray(System.Type)">
4262      <summary>
4263            Generates a predicate that determines whether or not a specific type is actually
4264            a list of services that can be created from a given container.
4265            </summary>
4266      <param name="parameterType">The target <see cref="T:System.Type" />. </param>
4267      <returns>A a predicate that determines whether or not a specific type
4268            exists as a list of services in a container</returns>
4269    </member>
4270    <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.ResolveArgumentsFrom(System.Reflection.MethodBase,LinFu.IoC.Interfaces.IServiceContainer)">
4271      <summary>
4272            Builds an argument list for the <paramref name="method" />
4273            using the given <paramref name="container" /> instance.
4274            </summary>
4275      <param name="method">The method that will be used to instantiate an object instance.</param>
4276      <param name="container">The container that will provide the method arguments.</param>
4277      <returns>An array of objects to be used with the target method.</returns>
4278    </member>
4279    <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.ResolveFrom(LinFu.IoC.Configuration.Interfaces.IArgumentResolver,System.Reflection.MethodBase,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
4280      <summary>
4281            Builds an argument list for the target <paramref name="method" /> from
4282            services embedded inside the <paramref name="container" /> instance.
4283            </summary>
4284      <param name="resolver">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IArgumentResolver" /> instance that will determine the method arguments.</param>
4285      <param name="method">The target method.</param>
4286      <param name="container">The container that will provide the method arguments.</param>
4287      <param name="additionalArguments">The additional arguments that will be passed to the target method.</param>
4288      <returns>An array of objects to be used with the target method.</returns>
4289    </member>
4290    <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.Cast(System.Collections.IEnumerable,System.Type)">
4291      <summary>
4292            Casts an <see cref="T:System.Collections.IEnumerable" /> set of items into an array of
4293            <paramref name="targetElementType" /> items.
4294            </summary>
4295      <param name="items">The items being converted.</param>
4296      <param name="targetElementType">The element type of the resulting array.</param>
4297      <returns>An array of items that match the <paramref name="targetElementType" />.</returns>
4298    </member>
4299    <member name="M:LinFu.IoC.Configuration.ResolutionExtensions.Cast``1(System.Collections.IEnumerable)">
4300      <summary>
4301            Performs a strongly typed cast against an <see cref="T:System.Collections.IEnumerable" /> instance.
4302            </summary>
4303      <typeparam name="T">The target element type.</typeparam>
4304      <param name="items">The list of items being converted.</param>
4305      <returns>An array of items that match the <typeparamref name="T" /> element type.</returns>
4306    </member>
4307    <member name="T:LinFu.IoC.Configuration.Interfaces.IFactoryBuilder">
4308      <summary>
4309            Represents a class that can generate <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instances 
4310            from a given service type, implementing type, and lifecycle.
4311            </summary>
4312    </member>
4313    <member name="M:LinFu.IoC.Configuration.Interfaces.IFactoryBuilder.CreateFactory(System.Type,System.Type,LinFu.IoC.Configuration.LifecycleType)">
4314      <summary>
4315            Generates a <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that can create the <paramref name="serviceType" />
4316            using the <paramref name="implementingType" /> and <paramref name="lifecycle" /> model.
4317            </summary>
4318      <param name="serviceType">The service type that will be created by the factory.</param>
4319      <param name="implementingType">The concrete type that will provide the implementation for the service type.</param>
4320      <param name="lifecycle">The instancing behavior of the given service type.</param>
4321      <returns>A valid <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</returns>
4322    </member>
4323    <member name="T:LinFu.IoC.Configuration.FactoryBuilder">
4324      <summary>
4325            The default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IFactoryBuilder" /> class.
4326            </summary>
4327    </member>
4328    <member name="M:LinFu.IoC.Configuration.FactoryBuilder.CreateFactory(System.Type,System.Type,LinFu.IoC.Configuration.LifecycleType)">
4329      <summary>
4330            Creates a factory instance that can create instaces of the given
4331            <paramref name="serviceType" />  using the <paramref name="implementingType" />
4332            as the implementation.
4333            </summary>
4334      <param name="serviceType">The service being implemented.</param>
4335      <param name="implementingType">The actual type that will implement the service.</param>
4336      <param name="lifecycle">The <see cref="T:LinFu.IoC.Configuration.LifecycleType" /> that determines the lifetime of each instance being created.</param>
4337      <returns>A valid <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</returns>
4338    </member>
4339    <member name="M:LinFu.IoC.Configuration.FactoryBuilder.CreateFactory(System.Type,System.Type,System.Type)">
4340      <summary>
4341            Creates a factory instance that can create instaces of the given
4342            <paramref name="serviceType" />  using the <paramref name="actualType" />
4343            as the implementation.
4344            </summary>
4345      <param name="serviceType">The service being implemented.</param>
4346      <param name="actualType">The actual type that will implement the service.</param>
4347      <param name="factoryType">The factory type that will instantiate the target service.</param>
4348      <returns>A valid <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</returns>
4349    </member>
4350    <member name="M:LinFu.IoC.Configuration.FactoryBuilder.GetActualType(System.Type,System.Type)">
4351      <summary>
4352            Determines the implementing concrete type from the given <paramref name="serviceType" />.
4353            </summary>
4354      <param name="serviceType">The service type.</param>
4355      <param name="implementingType">The concrete class that will implement the service type.</param>
4356      <returns>The actual implementing type.</returns>
4357    </member>
4358    <member name="M:LinFu.IoC.Configuration.FactoryBuilder.CreateFactoryMethod(System.Type,System.Type)">
4359      <summary>
4360            A <c>private</c> method that creates the factory method delegate
4361            for use with a particular factory class.
4362            </summary>
4363      <seealso cref="T:LinFu.IoC.Factories.SingletonFactory`1" />
4364      <seealso cref="T:LinFu.IoC.Factories.OncePerRequestFactory`1" />
4365      <seealso cref="T:LinFu.IoC.Factories.OncePerThreadFactory`1" />
4366      <param name="serviceType">The service type being instantiated.</param>
4367      <param name="implementingType">The type that will provide the implementation for the actual service.</param>
4368      <returns>A factory method delegate that can create the given service.</returns>
4369    </member>
4370    <member name="M:LinFu.IoC.Configuration.FactoryBuilder.CreateFactoryMethodInternal``2">
4371      <summary>
4372            A method that generates the actual lambda function that creates
4373            the new service instance.
4374            </summary>
4375      <typeparam name="TService">The service type being instantiated.</typeparam>
4376      <typeparam name="TImplementation">The type that will provide the implementation for the actual service.</typeparam>
4377      <returns>A strongly-typed factory method delegate that can create the given service.</returns>
4378    </member>
4379    <member name="T:LinFu.IoC.Configuration.BaseContext`1">
4380      <summary>
4381            Represents a class that provides the most basic information
4382            for executing a fluent command against a 
4383            <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
4384            </summary>
4385      <typeparam name="TService">
4386      </typeparam>
4387    </member>
4388    <member name="P:LinFu.IoC.Configuration.BaseContext`1.ServiceType">
4389      <summary>
4390            The service type to be created.
4391            </summary>
4392    </member>
4393    <member name="P:LinFu.IoC.Configuration.BaseContext`1.ServiceName">
4394      <summary>
4395            The name of the service to be created.
4396            </summary>
4397    </member>
4398    <member name="P:LinFu.IoC.Configuration.BaseContext`1.Container">
4399      <summary>
4400            The actual <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
4401            that ultimately will hold the service instance.
4402            </summary>
4403    </member>
4404    <member name="T:LinFu.IoC.Configuration.ActionContext`1">
4405      <summary>
4406            Represents the <c>internal</c> context class that will be used to 
4407            incrementally build enough information to initialize
4408            a specific <typeparamref name="TService" /> type once
4409            that service has been instantiated.
4410            </summary>
4411      <typeparam name="TService">The service type to be created.</typeparam>
4412    </member>
4413    <member name="P:LinFu.IoC.Configuration.ActionContext`1.Action">
4414      <summary>
4415            The action that will be performed on an <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
4416            instance once the fluent command executes.
4417            </summary>
4418    </member>
4419    <member name="T:LinFu.IoC.Configuration.ActionPostProcessor`1">
4420      <summary>
4421            Represents a postprocessor that will execute
4422            the action associated with the given <see cref="T:LinFu.IoC.Configuration.ActionContext`1" />
4423            instance every time the target container returns a 
4424            service with particular service name and service type.
4425            </summary>
4426      <typeparam name="TService">
4427      </typeparam>
4428    </member>
4429    <member name="T:LinFu.IoC.Configuration.IGenerateFactory`1">
4430      <summary>
4431            Represents a fluent class that allows
4432            users to create specific types of factories.
4433            </summary>
4434      <typeparam name="TService">The type of service being created.</typeparam>
4435    </member>
4436    <member name="M:LinFu.IoC.Configuration.IGenerateFactory`1.AsSingleton">
4437      <summary>
4438            Creates a singleton factory.
4439            </summary>
4440      <seealso cref="T:LinFu.IoC.Factories.SingletonFactory`1" />
4441    </member>
4442    <member name="M:LinFu.IoC.Configuration.IGenerateFactory`1.OncePerThread">
4443      <summary>
4444            Creates a once per thread factory.
4445            </summary>
4446      <seealso cref="T:LinFu.IoC.Factories.OncePerThreadFactory`1" />
4447    </member>
4448    <member name="M:LinFu.IoC.Configuration.IGenerateFactory`1.OncePerRequest">
4449      <summary>
4450            Creates a once per request factory.
4451            </summary>
4452      <seealso cref="T:LinFu.IoC.Factories.OncePerRequestFactory`1" />
4453    </member>
4454    <member name="T:LinFu.IoC.Configuration.GenerateFactory`1">
4455      <summary>
4456            Represents a fluent class that allows
4457            users to create specific types of factories.
4458            </summary>
4459      <typeparam name="TService">The type of service being created.</typeparam>
4460    </member>
4461    <member name="M:LinFu.IoC.Configuration.GenerateFactory`1.#ctor(LinFu.IoC.Configuration.InjectionContext{`0})">
4462      <summary>
4463            Instantiates the class using the given
4464            <paramref name="context" />.
4465            </summary>
4466      <param name="context">The <see cref="T:LinFu.IoC.Configuration.InjectionContext`1" /> instance
4467            which will contain the information necessary to build a fluent command.</param>
4468    </member>
4469    <member name="M:LinFu.IoC.Configuration.GenerateFactory`1.AsSingleton">
4470      <summary>
4471            Creates a singleton factory.
4472            </summary>
4473      <seealso cref="T:LinFu.IoC.Factories.SingletonFactory`1" />
4474    </member>
4475    <member name="M:LinFu.IoC.Configuration.GenerateFactory`1.OncePerThread">
4476      <summary>
4477            Creates a once per thread factory.
4478            </summary>
4479      <seealso cref="T:LinFu.IoC.Factories.OncePerThreadFactory`1" />
4480    </member>
4481    <member name="M:LinFu.IoC.Configuration.GenerateFactory`1.OncePerRequest">
4482      <summary>
4483            Creates a once per request factory.
4484            </summary>
4485      <seealso cref="T:LinFu.IoC.Factories.OncePerRequestFactory`1" />
4486    </member>
4487    <member name="M:LinFu.IoC.Configuration.GenerateFactory`1.AddFactory(System.Func{System.Func{LinFu.IoC.Interfaces.IFactoryRequest,`0},LinFu.IoC.Interfaces.IFactory{`0}})">
4488      <summary>
4489            Adds a factory to the container by using the 
4490            <paramref name="createFactory" /> delegate to
4491            create the actual <see cref="T:LinFu.IoC.Interfaces.IFactory`1" />
4492            instance.
4493            </summary>
4494      <param name="createFactory">The delegate that will create the actual factory instance.</param>
4495    </member>
4496    <member name="T:LinFu.IoC.Configuration.InjectionContext`1">
4497      <summary>
4498            Represents the <c>internal</c> context class that will be used to 
4499            incrementally build enough information to inject a specific
4500            <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> instance into a container.
4501            </summary>
4502      <typeparam name="TService">The service type to be created.</typeparam>
4503    </member>
4504    <member name="P:LinFu.IoC.Configuration.InjectionContext`1.FactoryMethod">
4505      <summary>
4506            The factory method that will be used to
4507            instantiate the actual <typeparamref name="TService" />
4508            instance.
4509            </summary>
4510    </member>
4511    <member name="T:LinFu.IoC.Configuration.Interfaces.IPropertyInjectionLambda`1">
4512      <summary>
4513            Represents a fluent class that creates
4514            a method that initializes a <typeparamref name="TService" />
4515            instance.
4516            </summary>
4517      <typeparam name="TService">The service type being instantiated.</typeparam>
4518    </member>
4519    <member name="M:LinFu.IoC.Configuration.Interfaces.IPropertyInjectionLambda`1.With(System.Action{`0})">
4520      <summary>
4521            Initializes service instances with the given
4522            <paramref name="action" />.
4523            </summary>
4524      <param name="action">An <see cref="T:System.Action`1" /> delegate that will be used to initialize newly created services.</param>
4525    </member>
4526    <member name="M:LinFu.IoC.Configuration.Interfaces.IPropertyInjectionLambda`1.With(System.Action{LinFu.IoC.Interfaces.IServiceContainer,`0})">
4527      <summary>
4528            Uses an action delegate to initialize a given service using
4529            the given <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> and <typeparamref name="TService" />
4530            instances.
4531            </summary>
4532      <param name="action">An <see cref="T:System.Func`2" /> delegate that will be used to initialize newly created services.</param>
4533    </member>
4534    <member name="T:LinFu.IoC.Configuration.PropertyInjectionLambda`1">
4535      <summary>
4536            Represents a fluent class that creates
4537            a method that initializes a <typeparamref name="TService" />
4538            instance.
4539            </summary>
4540      <typeparam name="TService">The service type being instantiated.</typeparam>
4541    </member>
4542    <member name="M:LinFu.IoC.Configuration.PropertyInjectionLambda`1.#ctor(LinFu.IoC.Configuration.ActionContext{`0})">
4543      <summary>
4544            Initializes the class with the <paramref name="context" />.
4545            </summary>
4546      <param name="context">The context that will be associated with the target container.</param>
4547    </member>
4548    <member name="M:LinFu.IoC.Configuration.PropertyInjectionLambda`1.With(System.Action{`0})">
4549      <summary>
4550            Initializes service instances with the given
4551            <paramref name="action" />.
4552            </summary>
4553      <param name="action">An <see cref="T:System.Action`1" /> delegate that will be used to initialize newly created services.</param>
4554    </member>
4555    <member name="M:LinFu.IoC.Configuration.PropertyInjectionLambda`1.With(System.Action{LinFu.IoC.Interfaces.IServiceContainer,`0})">
4556      <summary>
4557            Uses an action delegate to initialize a given service using
4558            the given <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> and <typeparamref name="TService" />
4559            instances.
4560            </summary>
4561      <param name="action">An <see cref="T:System.Func`2" /> delegate that will be used to initialize newly created services.</param>
4562    </member>
4563    <member name="M:LinFu.IoC.Configuration.PropertyInjectionLambda`1.AddPostProcessor(LinFu.IoC.Configuration.ActionContext{`0})">
4564      <summary>
4565            Attaches the action associated with the <see cref="T:LinFu.IoC.Configuration.ActionContext`1" />
4566            instance to the target container embedded within the <see cref="T:LinFu.IoC.Configuration.ActionContext`1" />
4567            class itself.
4568            </summary>
4569      <param name="context">The context that will be associated with the target container.</param>
4570    </member>
4571    <member name="T:LinFu.IoC.Configuration.IUsingLambda`1">
4572      <summary>
4573            Represents a fluent class that creates
4574            a factory method that will be used
4575            in instantiating a specific service instance.
4576            </summary>
4577      <typeparam name="TService">The service type being instantiated.</typeparam>
4578    </member>
4579    <member name="M:LinFu.IoC.Configuration.IUsingLambda`1.Using``1">
4580      <summary>
4581            Creates a service instance using the
4582            concrete <typeparamref name="TConcrete" /> type 
4583            as the implementation for the <typeparamref name="TService" />
4584            type.
4585            </summary>
4586      <typeparam name="TConcrete">The concrete implementation that implements <typeparamref name="TService" />. This class must have a default constructor.</typeparam>
4587      <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>
4588    </member>
4589    <member name="M:LinFu.IoC.Configuration.IUsingLambda`1.Using(System.Func{LinFu.IoC.Interfaces.IServiceContainer,System.Object[],`0})">
4590      <summary>
4591            Creates a service instance using the
4592            <paramref name="factoryMethod" /> to
4593            instantiate the service instance
4594            with a particular factory type.
4595            </summary>
4596      <seealso cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" />
4597      <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
4598      <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>
4599    </member>
4600    <member name="M:LinFu.IoC.Configuration.IUsingLambda`1.Using(System.Func{LinFu.IoC.Interfaces.IServiceContainer,`0})">
4601      <summary>
4602            Creates a service instance using the
4603            <paramref name="factoryMethod" /> to
4604            instantiate the service instance
4605            with a particular factory type.
4606            </summary>
4607      <seealso cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" />
4608      <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
4609      <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>
4610    </member>
4611    <member name="M:LinFu.IoC.Configuration.IUsingLambda`1.Using(System.Func{`0})">
4612      <summary>
4613            Creates a service instance using the
4614            <paramref name="factoryMethod" /> to
4615            instantiate the service instance
4616            with a particular factory type.
4617            </summary>
4618      <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
4619      <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>
4620    </member>
4621    <member name="T:LinFu.IoC.Configuration.UsingLambda`1">
4622      <summary>
4623            Represents a fluent class that creates
4624            a factory method that will be used
4625            in instantiating a specific service instance.
4626            </summary>
4627      <typeparam name="TService">The service type being instantiated.</typeparam>
4628    </member>
4629    <member name="M:LinFu.IoC.Configuration.UsingLambda`1.#ctor(LinFu.IoC.Configuration.InjectionContext{`0})">
4630      <summary>
4631            Initializes the class using the given <paramref name="context" />.
4632            </summary>
4633      <param name="context">the <c>internal</c> context class that will be used to 
4634            incrementally build enough information to inject a specific
4635            <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> instance into a container.</param>
4636    </member>
4637    <member name="M:LinFu.IoC.Configuration.UsingLambda`1.Using``1">
4638      <summary>
4639            Creates a service instance using the
4640            concrete <typeparamref name="TConcrete" /> type 
4641            as the implementation for the <typeparamref name="TService" />
4642            type.
4643            </summary>
4644      <typeparam name="TConcrete">The concrete implementation that implements <typeparamref name="TService" />. This class must have a default constructor.</typeparam>
4645      <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>
4646    </member>
4647    <member name="M:LinFu.IoC.Configuration.UsingLambda`1.Using(System.Func{LinFu.IoC.Interfaces.IServiceContainer,System.Object[],`0})">
4648      <summary>
4649            Creates a service instance using the
4650            <paramref name="factoryMethod" /> to
4651            instantiate the service instance
4652            with a particular factory type.
4653            </summary>
4654      <seealso cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" />
4655      <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
4656      <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>
4657    </member>
4658    <member name="M:LinFu.IoC.Configuration.UsingLambda`1.Using(System.Func{LinFu.IoC.Interfaces.IServiceContainer,`0})">
4659      <summary>
4660            Creates a service instance using the
4661            <paramref name="factoryMethod" /> to
4662            instantiate the service instance
4663            with a particular factory type.
4664            </summary>
4665      <seealso cref="T:LinFu.IoC.Configuration.IGenerateFactory`1" />
4666      <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
4667      <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>
4668    </member>
4669    <member name="M:LinFu.IoC.Configuration.UsingLambda`1.Using(System.Func{`0})">
4670      <summary>
4671            Creates a service instance using the
4672            <paramref name="factoryMethod" /> to
4673            instantiate the service instance
4674            with a particular factory type.
4675            </summary>
4676      <param name="factoryMethod">The factory method that will be used to instantiate the actual service instance.</param>
4677      <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>
4678    </member>
4679    <member name="T:LinFu.IoC.Configuration.Initializer`1">
4680      <summary>
4681            A class that initializes service instances that use
4682            the <see cref="T:LinFu.Reflection.IInitialize`1" /> interface.
4683            </summary>
4684    </member>
4685    <member name="M:LinFu.IoC.Configuration.Initializer`1.#ctor(System.Func{LinFu.IoC.Interfaces.IServiceRequestResult,`0})">
4686      <summary>
4687            Initializes the class with the given <paramref name="getSource" /> delegate.
4688            </summary>
4689      <param name="getSource">The functor that will obtain the object instance that will be used to initialize a given service.</param>
4690    </member>
4691    <member name="M:LinFu.IoC.Configuration.Initializer`1.PostProcess(LinFu.IoC.Interfaces.IServiceRequestResult)">
4692      <summary>
4693            Initializes every service that implements
4694            the <see cref="T:LinFu.Reflection.IInitialize`1" /> interface.
4695            </summary>
4696      <param name="result">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> instance that contains the service instance to be initialized.</param>
4697    </member>
4698    <member name="M:LinFu.IoC.Configuration.Initializer`1.Initialize(LinFu.Reflection.IInitialize{`0},`0)">
4699      <summary>
4700            Initializes the <paramref name="target" /> with the given <paramref name="source" /> instance.
4701            </summary>
4702      <param name="target">The target to initialize.</param>
4703      <param name="source">The instance that will be introduced to the <see cref="T:LinFu.Reflection.IInitialize`1" /> instance.</param>
4704    </member>
4705    <member name="T:LinFu.IoC.Configuration.Initializer">
4706      <summary>
4707            A class that initializes service instances that use
4708            the <see cref="T:LinFu.IoC.Configuration.IInitialize" /> interface.
4709            </summary>
4710    </member>
4711    <member name="M:LinFu.IoC.Configuration.Initializer.#ctor">
4712      <summary>
4713            Initializes the class with the default settings.
4714            </summary>
4715    </member>
4716    <member name="T:LinFu.IoC.Configuration.InitializerPlugin">
4717      <summary>
4718            A class that injects the <see cref="T:LinFu.IoC.Configuration.Initializer" /> postprocessor
4719            into every container that is created or loaded.
4720            </summary>
4721    </member>
4722    <member name="M:LinFu.IoC.Configuration.InitializerPlugin.BeginLoad(LinFu.IoC.Interfaces.IServiceContainer)">
4723      <summary>
4724            This override does absolutely nothing.
4725            </summary>
4726      <param name="target">The target container.</param>
4727    </member>
4728    <member name="M:LinFu.IoC.Configuration.InitializerPlugin.EndLoad(LinFu.IoC.Interfaces.IServiceContainer)">
4729      <summary>
4730            Injects the <see cref="T:LinFu.IoC.Configuration.Initializer" /> postprocessor into
4731            the container.
4732            </summary>
4733      <param name="target">
4734      </param>
4735    </member>
4736    <member name="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1">
4737      <summary>
4738            An interface responsible for determining which methods
4739            should be injected.
4740            </summary>
4741    </member>
4742    <member name="M:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1.GetInjectableMembers(System.Type)">
4743      <summary>
4744            Returns the list of <see cref="T:System.Reflection.MethodBase" /> objects
4745            that will be injected with arbitrary values.
4746            </summary>
4747      <param name="targetType">The target type that contains the target methods.</param>
4748      <returns>A set of methods that describe which methods that will injected.</returns>
4749    </member>
4750    <member name="T:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1">
4751      <summary>
4752            Defines the basic behavior of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" /> interface.
4753            </summary>
4754      <typeparam name="TMember">The member type that will be filtered.</typeparam>
4755    </member>
4756    <member name="M:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
4757      <summary>
4758            Initializes the <see cref="T:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1" /> class.
4759            </summary>
4760      <param name="source">The host container.</param>
4761    </member>
4762    <member name="M:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1.GetInjectableMembers(System.Type)">
4763      <summary>
4764            Returns the list of <typeparamref name="TMember" /> objects
4765            whose setters will injected with arbitrary values.
4766            </summary>
4767      <remarks>This implementation selects properties that are marked with the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />.</remarks>
4768      <param name="targetType">The target type that contains the target properties.</param>
4769      <returns>A set of properties that describe which parameters should be injected.</returns>
4770    </member>
4771    <member name="M:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1.GetMembers(System.Type,LinFu.IoC.Interfaces.IServiceContainer)">
4772      <summary>
4773            Determines which members should be selected from the <paramref name="targetType" />
4774            using the <paramref name="container" /></summary>
4775      <param name="targetType">The target type that will supply the list of members that will be filtered.</param>
4776      <param name="container">The target container.</param>
4777      <returns>A list of <typeparamref name="TMember" /> objects that pass the filter description.</returns>
4778    </member>
4779    <member name="M:LinFu.IoC.Configuration.BaseMemberInjectionFilter`1.Filter(LinFu.IoC.Interfaces.IServiceContainer,System.Collections.Generic.IEnumerable{`0})">
4780      <summary>
4781            Determines which items should be injected from the <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
4782            </summary>
4783      <param name="container">The source container that will supply the values for the selected members.</param>
4784      <param name="items">The list of properties that will be filtered.</param>
4785      <returns>A list of properties that will be injected.</returns>
4786    </member>
4787    <member name="T:LinFu.IoC.Configuration.AttributedFieldInjectionFilter">
4788      <summary>
4789            A default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" />
4790            class that returns fields which have the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />
4791            defined.
4792            </summary>
4793    </member>
4794    <member name="M:LinFu.IoC.Configuration.AttributedFieldInjectionFilter.#ctor">
4795      <summary>
4796            Initializes the class and uses the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />
4797            to specify which field should be automatically injected with
4798            services from the container.
4799            </summary>
4800    </member>
4801    <member name="M:LinFu.IoC.Configuration.AttributedFieldInjectionFilter.#ctor(System.Type)">
4802      <summary>
4803            Initializes the class and uses the <paramref name="attributeType" />
4804            to specify which fields should be automatically injected with
4805            services from the container.
4806            </summary>
4807      <param name="attributeType">The custom property attribute that will be used to mark properties for automatic injection.</param>
4808    </member>
4809    <member name="M:LinFu.IoC.Configuration.AttributedFieldInjectionFilter.GetMembers(System.Type,LinFu.IoC.Interfaces.IServiceContainer)">
4810      <summary>
4811            Determines which members should be selected from the <paramref name="targetType" />
4812            using the <paramref name="container" /></summary>
4813      <param name="targetType">The target type that will supply the list of members that will be filtered.</param>
4814      <param name="container">The target container.</param>
4815      <returns>A list of <see cref="T:System.Reflection.FieldInfo" /> objects that pass the filter description.</returns>
4816    </member>
4817    <member name="T:LinFu.IoC.Configuration.AttributedMethodInjectionFilter">
4818      <summary>
4819            A default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" />
4820            class that returns methods which have the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />
4821            defined.
4822            </summary>
4823    </member>
4824    <member name="M:LinFu.IoC.Configuration.AttributedMethodInjectionFilter.#ctor">
4825      <summary>
4826            Initializes the class with the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" /> as the
4827            default injection attribute.
4828            </summary>
4829    </member>
4830    <member name="M:LinFu.IoC.Configuration.AttributedMethodInjectionFilter.#ctor(System.Type)">
4831      <summary>
4832            Initializes the class and uses the <paramref name="attributeType" />
4833            as the custom injection attribute.
4834            </summary>
4835      <param name="attributeType">
4836      </param>
4837    </member>
4838    <member name="M:LinFu.IoC.Configuration.AttributedMethodInjectionFilter.GetMembers(System.Type,LinFu.IoC.Interfaces.IServiceContainer)">
4839      <summary>
4840            Returns the methods that have the custom attribute type defined.
4841            </summary>
4842      <param name="targetType">The target type that contains the target methods.</param>
4843      <param name="container">The host container.</param>
4844      <returns>The list of methods that have the custom attribute type defined.</returns>
4845    </member>
4846    <member name="T:LinFu.IoC.Configuration.AttributedPropertyInjectionFilter">
4847      <summary>
4848            A default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" />
4849            class that returns properties which have the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />
4850            defined.
4851            </summary>
4852    </member>
4853    <member name="M:LinFu.IoC.Configuration.AttributedPropertyInjectionFilter.#ctor">
4854      <summary>
4855            Initializes the class and uses the <see cref="T:LinFu.IoC.Configuration.InjectAttribute" />
4856            to specify which properties should be automatically injected with
4857            services from the container.
4858            </summary>
4859    </member>
4860    <member name="M:LinFu.IoC.Configuration.AttributedPropertyInjectionFilter.#ctor(System.Type)">
4861      <summary>
4862            Initializes the class and uses the <paramref name="attributeType" />
4863            to specify which properties should be automatically injected with
4864            services from the container.
4865            </summary>
4866      <param name="attributeType">The custom property attribute that will be used to mark properties for automatic injection.</param>
4867    </member>
4868    <member name="M:LinFu.IoC.Configuration.AttributedPropertyInjectionFilter.Filter(LinFu.IoC.Interfaces.IServiceContainer,System.Collections.Generic.IEnumerable{System.Reflection.PropertyInfo})">
4869      <summary>
4870            Determines which properties should be injected from the <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
4871            </summary>
4872      <param name="container">The source container that will supply the property values for the selected properties.</param>
4873      <param name="properties">The list of properties to be filtered.</param>
4874      <returns>A list of properties that should be injected.</returns>
4875    </member>
4876    <member name="M:LinFu.IoC.Configuration.AttributedPropertyInjectionFilter.GetMembers(System.Type,LinFu.IoC.Interfaces.IServiceContainer)">
4877      <summary>
4878            Determines which members should be selected from the <paramref name="targetType" />
4879            using the <paramref name="container" /></summary>
4880      <param name="targetType">The target type that will supply the list of members that will be filtered.</param>
4881      <param name="container">The target container.</param>
4882      <returns>A list of <see cref="T:System.Reflection.PropertyInfo" /> objects that pass the filter description.</returns>
4883    </member>
4884    <member name="T:LinFu.IoC.Configuration.Interfaces.IContainerPlugin">
4885      <summary>
4886            Represents an alias interface used for backward compatibility with LinFu IoC 1.0
4887            </summary>
4888    </member>
4889    <member name="T:LinFu.IoC.Configuration.AutoMemberInjector`1">
4890      <summary>
4891            The base class that defines the behavior for automatically injecting service
4892            instances into type member instances.
4893            </summary>
4894      <typeparam name="TMember">
4895      </typeparam>
4896    </member>
4897    <member name="M:LinFu.IoC.Configuration.AutoMemberInjector`1.BeginLoad(LinFu.IoC.Interfaces.IServiceContainer)">
4898      <summary>
4899            Does absolutely nothing.
4900            </summary>
4901      <param name="target">The target container.</param>
4902    </member>
4903    <member name="M:LinFu.IoC.Configuration.AutoMemberInjector`1.EndLoad(LinFu.IoC.Interfaces.IServiceContainer)">
4904      <summary>
4905            Inserts the <see cref="T:LinFu.IoC.Configuration.AutoPropertyInjector" /> class at the end
4906            of the PostProcessor chain.
4907            </summary>
4908      <param name="target">The target container.</param>
4909    </member>
4910    <member name="M:LinFu.IoC.Configuration.AutoMemberInjector`1.PostProcess(LinFu.IoC.Interfaces.IServiceRequestResult)">
4911      <summary>
4912            Automatically injects service instances
4913            into properties as soon as they are initialized.
4914            </summary>
4915      <param name="result">The service request result that contains the service whose members will be injected with service instances.</param>
4916    </member>
4917    <member name="M:LinFu.IoC.Configuration.AutoMemberInjector`1.Inject(System.Object,`0,LinFu.IoC.Configuration.Interfaces.IArgumentResolver,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
4918      <summary>
4919            Injects services from the <paramref name="container" /> into the target <paramref name="member" /> instance.
4920            </summary>
4921      <param name="target">The target object.</param>
4922      <param name="member">The <typeparamref name="TMember" /> instance that will store the service instance.</param>
4923      <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>
4924      <param name="additionalArguments">The additional arguments that were passed to the <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> during the instantiation process.</param>
4925      <param name="container">The container that will provide the service instances.</param>
4926    </member>
4927    <member name="M:LinFu.IoC.Configuration.AutoMemberInjector`1.AutoInject(LinFu.IoC.Interfaces.IServiceRequestResult)">
4928      <summary>
4929            Injects a member service dependency into a target service instance.
4930            </summary>
4931      <param name="result">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> that will be processed for injection.</param>
4932    </member>
4933    <member name="T:LinFu.IoC.Configuration.AutoFieldInjector">
4934      <summary>
4935            A class that automatically injects fields using values
4936            provided by an <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
4937            </summary>
4938    </member>
4939    <member name="M:LinFu.IoC.Configuration.AutoFieldInjector.Inject(System.Object,System.Reflection.FieldInfo,LinFu.IoC.Configuration.Interfaces.IArgumentResolver,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
4940      <summary>
4941            Injects a field with values from a given container.
4942            </summary>
4943      <param name="target">The target object.</param>
4944      <param name="member">The <see cref="T:System.Reflection.FieldInfo" /> instance that will store the service instance.</param>
4945      <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>
4946      <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>
4947      <param name="container">The container that will provide the service instances.</param>
4948    </member>
4949    <member name="T:LinFu.IoC.Configuration.AutoMethodInjector">
4950      <summary>
4951            A class that automatically invokes methods using arguments
4952            derived from existing instances from within a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
4953            instance.
4954            </summary>
4955    </member>
4956    <member name="M:LinFu.IoC.Configuration.AutoMethodInjector.Inject(System.Object,System.Reflection.MethodInfo,LinFu.IoC.Configuration.Interfaces.IArgumentResolver,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
4957      <summary>
4958            Injects services from the <paramref name="container" /> into the target <see cref="T:System.Reflection.MethodInfo" /> instance.
4959            </summary>
4960      <param name="target">The target object.</param>
4961      <param name="method">The <see cref="T:System.Reflection.MethodInfo" /> instance that will store the service instance.</param>
4962      <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>
4963      <param name="additionalArguments">The additional arguments that were passed to the <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> during the instantiation process.</param>
4964      <param name="container">The container that will provide the service instances.</param>
4965    </member>
4966    <member name="T:LinFu.IoC.Configuration.AutoPropertyInjector">
4967      <summary>
4968            A class that automatically injects property dependencies into
4969            service instances.
4970            </summary>
4971    </member>
4972    <member name="M:LinFu.IoC.Configuration.AutoPropertyInjector.Inject(System.Object,System.Reflection.PropertyInfo,LinFu.IoC.Configuration.Interfaces.IArgumentResolver,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
4973      <summary>
4974            Injects services from the <paramref name="container" /> into the target <see cref="T:System.Reflection.PropertyInfo" /> instance.
4975            </summary>
4976      <param name="target">The target object.</param>
4977      <param name="property">The <see cref="T:System.Reflection.PropertyInfo" /> instance that will store the service instance.</param>
4978      <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>
4979      <param name="additionalArguments">The additional arguments that were passed to the <see cref="T:LinFu.IoC.Interfaces.IServiceRequestResult" /> during the instantiation process.</param>
4980      <param name="container">The container that will provide the service instances.</param>
4981    </member>
4982    <member name="T:LinFu.IoC.Configuration.Injectors.CustomFactoryInjector">
4983      <summary>
4984            A class that injects unnamed custom <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instances into a given
4985            service container.
4986            </summary>
4987    </member>
4988    <member name="M:LinFu.IoC.Configuration.Injectors.CustomFactoryInjector.#ctor(System.Type,LinFu.IoC.Interfaces.IFactory)">
4989      <summary>
4990            Initializes the class with the given service type and factory.
4991            </summary>
4992      <param name="serviceType">The service type that will be created by the factory.</param>
4993      <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be used to create the service instance.</param>
4994    </member>
4995    <member name="M:LinFu.IoC.Configuration.Injectors.CustomFactoryInjector.Preprocess(LinFu.IoC.Interfaces.IServiceRequest)">
4996      <summary>
4997            Injects the given factory into the target container.
4998            </summary>
4999      <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequest" /> instance that describes the service that is currently being requested.</param>
5000    </member>
5001    <member name="T:LinFu.IoC.Configuration.Injectors.NullMemberInjectionFilter`1">
5002      <summary>
5003            Represents a type of <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" />
5004            that always returns an empty match.
5005            </summary>
5006    </member>
5007    <member name="M:LinFu.IoC.Configuration.Injectors.NullMemberInjectionFilter`1.GetInjectableMembers(System.Type)">
5008      <summary>
5009            Always returns an empty list of injectable members.
5010            </summary>
5011      <param name="targetType">The type to be injected.</param>
5012      <returns>An empty list.</returns>
5013    </member>
5014    <member name="T:LinFu.IoC.Configuration.PropertyInjectionFilter">
5015      <summary>
5016            An <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberInjectionFilter`1" /> implementation
5017            that automatically selects properties whose property types
5018            currently exist in the target container.
5019            </summary>
5020    </member>
5021    <member name="M:LinFu.IoC.Configuration.PropertyInjectionFilter.GetMembers(System.Type,LinFu.IoC.Interfaces.IServiceContainer)">
5022      <summary>
5023            Determines which members should be selected from the <paramref name="targetType" />
5024            using the <paramref name="container" /></summary>
5025      <param name="targetType">The target type that will supply the list of members that will be filtered.</param>
5026      <param name="container">The target container.</param>
5027      <returns>A list of <see cref="T:System.Reflection.PropertyInfo" /> objects that pass the filter description.</returns>
5028    </member>
5029    <member name="T:LinFu.IoC.Configuration.InMemoryAssemblyLoader">
5030      <summary>
5031            An assembly loader that returns an existing
5032            <see cref="T:System.Reflection.Assembly" /> from memory.
5033            </summary>
5034    </member>
5035    <member name="M:LinFu.IoC.Configuration.InMemoryAssemblyLoader.#ctor(System.Reflection.Assembly)">
5036      <summary>
5037            Initializes the class with an existing
5038            <see cref="T:System.Reflection.Assembly" />.
5039            </summary>
5040      <param name="targetAssembly">The target assembly.</param>
5041    </member>
5042    <member name="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext">
5043      <summary>
5044            Represents the data associated with a <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinder`1" /> search.
5045            </summary>
5046    </member>
5047    <member name="P:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext.TypeArguments">
5048      <summary>
5049            Gets or sets the value indicating the type arguments that will be passed to the target method.
5050            </summary>
5051    </member>
5052    <member name="P:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext.Arguments">
5053      <summary>
5054            Gets or sets the value indicating the list of arguments that will be passed to the target method.
5055            </summary>
5056    </member>
5057    <member name="P:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext.ReturnType">
5058      <summary>
5059            Gets or sets the value indicating the <see cref="T:System.Type">return type</see> of the target method.
5060            </summary>
5061    </member>
5062    <member name="T:LinFu.IoC.Configuration.Interfaces.IMethodFinder`1">
5063      <summary>
5064            Represents a class that determines which method best matches the
5065            services currently in the target container.
5066            </summary>
5067      <typeparam name="T">The method type to search.</typeparam>
5068    </member>
5069    <member name="M:LinFu.IoC.Configuration.Interfaces.IMethodFinder`1.GetBestMatch(System.Collections.Generic.IEnumerable{`0},LinFu.IoC.Configuration.Interfaces.IMethodFinderContext)">
5070      <summary>
5071            Determines which method best matches the
5072            services currently in the target container.
5073            </summary>
5074      <param name="items">The list of methods to search.</param>
5075      <param name="finderContext">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext" /> that describes the target method.</param>
5076      <returns>Returns the method with the most resolvable parameters from the target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</returns>
5077    </member>
5078    <member name="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderWithContainer`1">
5079      <summary>
5080            Represents a method finder that uses a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance
5081            during its method searches.
5082            </summary>
5083      <typeparam name="TMethod">
5084      </typeparam>
5085    </member>
5086    <member name="P:LinFu.IoC.Configuration.Interfaces.IMethodFinderWithContainer`1.Container">
5087      <summary>
5088            Gets the value indicating the service container that will be used in the
5089            method search.
5090            </summary>
5091    </member>
5092    <member name="T:LinFu.IoC.Configuration.AssemblyContainerLoader">
5093      <summary>
5094            Represents a class that loads configuration information
5095            from a given assembly.
5096            </summary>
5097    </member>
5098    <member name="T:LinFu.IoC.Configuration.ITypeLoader">
5099      <summary>
5100            Generates one or more <see cref="T:System.Action`1" /> instances
5101            from a given source type so that it can be used
5102            against an <see cref="T:LinFu.IoC.Interfaces.IContainer" /> instance.
5103            </summary>
5104    </member>
5105    <member name="T:LinFu.IoC.Configuration.FactoryAttributeLoader">
5106      <summary>
5107            A class that injects custom <see cref="T:LinFu.IoC.Interfaces.IFactory" /> and <see cref="T:LinFu.IoC.Interfaces.IFactory`1" />
5108            instances into an <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
5109            </summary>
5110    </member>
5111    <member name="M:LinFu.IoC.Configuration.FactoryAttributeLoader.Load(System.Type)">
5112      <summary>
5113            Loads an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> and <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> instance
5114            into a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance using the given
5115            <paramref name="sourceType" />.
5116            </summary>
5117      <param name="sourceType">The input type from which one or more factories will be created.</param>
5118      <returns>A set of <see cref="T:System.Action`1" /> instances. This cannot be null.</returns>
5119    </member>
5120    <member name="M:LinFu.IoC.Configuration.FactoryAttributeLoader.CanLoad(System.Type)">
5121      <summary>
5122            Determines whether or not the current <paramref name="sourceType" />
5123            can be loaded.
5124            </summary>
5125      <param name="sourceType">The source type currently being loaded.</param>
5126      <returns>Returns <c>true</c> if the type is a class type; otherwise, it returns <c>false</c>.</returns>
5127    </member>
5128    <member name="M:LinFu.IoC.Configuration.FactoryAttributeLoader.GetResults(System.Type,System.Collections.Generic.IEnumerable{LinFu.IoC.Configuration.FactoryAttribute},System.Func{LinFu.IoC.Interfaces.IFactoryRequest,System.Object})">
5129      <summary>
5130            Instantiates the <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instances associated with the <paramref name="sourceType" /> and
5131            adds those factories to the target container upon initialization.
5132            </summary>
5133      <param name="sourceType">The <see cref="T:System.Type" /> currently being inspected.</param>
5134      <param name="attributeList">The list of <see cref="T:LinFu.IoC.Configuration.FactoryAttribute" /> instances currently declared on on the source type.</param>
5135      <param name="getFactoryInstance">The functor that will be responsible for generating the factory instance.</param>
5136      <returns>A list of actions that will add the factories to the target container.</returns>
5137    </member>
5138    <member name="M:LinFu.IoC.Configuration.FactoryAttributeLoader.GetFactory(System.Type,System.Func{LinFu.IoC.Interfaces.IFactoryRequest,LinFu.IoC.Interfaces.IFactory},System.Collections.Generic.ICollection{System.Type})">
5139      <summary>
5140            Instantiates the given factory using the <paramref name="getStronglyTypedFactory">factory functor.</paramref></summary>
5141      <param name="currentServiceType">The service type that will be created by the factory.</param>
5142      <param name="getStronglyTypedFactory">The functor that will be responsible for creating the factory itself.</param>
5143      <param name="implementedInterfaces">The list of <see cref="T:LinFu.IoC.Interfaces.IFactory`1" /> interfaces that are implemented by the source type.</param>
5144      <returns>A valid factory instance.</returns>
5145    </member>
5146    <member name="T:LinFu.IoC.Configuration.Loaders.ImplementsAttributeLoader">
5147      <summary>
5148            A loader class that scans a type for <see cref="T:LinFu.IoC.Configuration.ImplementsAttribute" />
5149            attribute declarations and creates a factory for each corresponding 
5150            attribute instance.
5151            </summary>
5152      <seealso cref="T:LinFu.IoC.Interfaces.IFactory" />
5153    </member>
5154    <member name="M:LinFu.IoC.Configuration.Loaders.ImplementsAttributeLoader.Load(System.Type)">
5155      <summary>
5156            Converts a given <see cref="T:System.Type" /> into
5157            a set of <see cref="T:System.Action`1" /> instances so that
5158            the <see cref="T:LinFu.IoC.Interfaces.IContainer" /> instance can be loaded
5159            with the given factories.
5160            </summary>
5161      <param name="sourceType">The input type from which one or more factories will be created.</param>
5162      <returns>A set of <see cref="T:System.Action`1" /> instances. This cannot be null.</returns>
5163    </member>
5164    <member name="M:LinFu.IoC.Configuration.Loaders.ImplementsAttributeLoader.CanLoad(System.Type)">
5165      <summary>
5166            Determines whether or not the current <paramref name="sourceType" />
5167            can be loaded.
5168            </summary>
5169      <param name="sourceType">The source type currently being loaded.</param>
5170      <returns>Returns <c>true</c> if the type is a class type; otherwise, it returns <c>false</c>.</returns>
5171    </member>
5172    <member name="M:LinFu.IoC.Configuration.Loaders.ImplementsAttributeLoader.CreateFactory(System.Type,System.Type,LinFu.IoC.Configuration.LifecycleType)">
5173      <summary>
5174            Creates a factory instance that can create instaces of the given
5175            <paramref name="serviceType" />  using the <paramref name="implementingType" />
5176            as the implementation.
5177            </summary>
5178      <param name="serviceType">The service being implemented.</param>
5179      <param name="implementingType">The actual type that will implement the service.</param>
5180      <param name="lifecycle">The <see cref="T:LinFu.IoC.Configuration.LifecycleType" /> that determines the lifetime of each instance being created.</param>
5181      <returns>A valid <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.</returns>
5182    </member>
5183    <member name="T:LinFu.IoC.Configuration.Loader">
5184      <summary>
5185            Represents a class that can dynamically configure
5186            <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instances at runtime.
5187            </summary>
5188    </member>
5189    <member name="M:LinFu.IoC.Configuration.Loader.#ctor">
5190      <summary>
5191            Initializes the loader using the default values.
5192            </summary>
5193    </member>
5194    <member name="P:LinFu.IoC.Configuration.Loader.AssemblyLoader">
5195      <summary>
5196            Gets or sets the value indicating the <see cref="T:LinFu.Reflection.IAssemblyLoader" /> instance
5197            that will be used to load assemblies into memory.
5198            </summary>
5199    </member>
5200    <member name="T:LinFu.IoC.Configuration.Loaders.PostProcessorLoader">
5201      <summary>
5202            A class that automatically loads <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" />
5203            instances and configures a loader to inject those postprocessors
5204            into a container upon initialization.
5205            </summary>
5206    </member>
5207    <member name="M:LinFu.IoC.Configuration.Loaders.PostProcessorLoader.CanLoad(System.Type)">
5208      <summary>
5209            Determines if the plugin loader can load the <paramref name="inputType" />.
5210            </summary>
5211      <remarks>The target type must implement the <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> interface before it can be loaded into memory.</remarks>
5212      <param name="inputType">The target type that might contain the target instance.</param>
5213      <returns>
5214        <c>true</c> if the type can be loaded; otherwise, it returns <c>false</c>.</returns>
5215    </member>
5216    <member name="M:LinFu.IoC.Configuration.Loaders.PostProcessorLoader.Load(System.Type)">
5217      <summary>
5218            Loads a set of <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> instances
5219            so that they can be loaded into a container upon initialization.
5220            </summary>
5221      <param name="inputType">The type that will be used to configure the target loader.</param>
5222      <returns>A set of <see cref="T:System.Action`1" /> instances. This cannot be <c>null</c>.</returns>
5223    </member>
5224    <member name="T:LinFu.IoC.Configuration.Loaders.PreProcessorLoader">
5225      <summary>
5226            A class that automatically loads <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" />
5227            instances and configures a loader to inject those postprocessors
5228            into a container upon initialization.
5229            </summary>
5230    </member>
5231    <member name="M:LinFu.IoC.Configuration.Loaders.PreProcessorLoader.CanLoad(System.Type)">
5232      <summary>
5233            Determines if the plugin loader can load the <paramref name="inputType" />.
5234            </summary>
5235      <remarks>The target type must implement the <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" /> interface before it can be loaded into memory.</remarks>
5236      <param name="inputType">The target type that might contain the target instance.</param>
5237      <returns>
5238        <c>true</c> if the type can be loaded; otherwise, it returns <c>false</c>.</returns>
5239    </member>
5240    <member name="M:LinFu.IoC.Configuration.Loaders.PreProcessorLoader.Load(System.Type)">
5241      <summary>
5242            Loads a set of <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" /> instances
5243            so that they can be loaded into a container upon initialization.
5244            </summary>
5245      <param name="inputType">The type that will be used to configure the target loader.</param>
5246      <returns>A set of <see cref="T:System.Action`1" /> instances. This cannot be <c>null</c>.</returns>
5247    </member>
5248    <member name="T:LinFu.IoC.Configuration.MethodBuilder">
5249      <summary>
5250            A class that dynamically generates calls to a <see cref="T:System.Reflection.MethodInfo" /> instance.
5251            </summary>
5252    </member>
5253    <member name="M:LinFu.IoC.Configuration.MethodBuilder.PushInstance(System.Reflection.Emit.ILGenerator,System.Reflection.MethodInfo)">
5254      <summary>
5255            Pushes the method target onto the evaluation stack.
5256            </summary>
5257      <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the method body.</param>
5258      <param name="method">The target method.</param>
5259    </member>
5260    <member name="M:LinFu.IoC.Configuration.MethodBuilder.PushMethodArguments(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase)">
5261      <summary>
5262            Pushes the method arguments onto the stack.
5263            </summary>
5264      <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the target method body.</param>
5265      <param name="targetMethod">The target method that will be invoked.</param>
5266    </member>
5267    <member name="M:LinFu.IoC.Configuration.MethodBuilder.GetReturnType(System.Reflection.MethodInfo)">
5268      <summary>
5269            Determines the return type from the target <paramref name="method" />.
5270            </summary>
5271      <param name="method">The target method itself.</param>
5272      <returns>The method return type.</returns>
5273    </member>
5274    <member name="M:LinFu.IoC.Configuration.MethodBuilder.GetParameterList(System.Reflection.MethodInfo,System.Type[])">
5275      <summary>
5276            Determines the parameter types of the dynamically generated method.
5277            </summary>
5278      <param name="existingMethod">The target method.</param>
5279      <param name="parameterTypes">The target method argument types.</param>
5280      <returns>The list of <see cref="T:System.Type" /> objects that describe the signature of the method to generate.</returns>
5281      <remarks>This override will add an additional parameter type to accomodate the method target.</remarks>
5282    </member>
5283    <member name="M:LinFu.IoC.Configuration.MethodBuilder.EmitCall(System.Reflection.Emit.ILGenerator,System.Reflection.MethodInfo)">
5284      <summary>
5285            Emits the instruction to call the target <paramref name="method" /></summary>
5286      <param name="IL">The <see cref="T:System.Reflection.Emit.ILGenerator" /> of the target method body.</param>
5287      <param name="method">The method that will be invoked.</param>
5288    </member>
5289    <member name="T:LinFu.IoC.Configuration.BaseMethodInvoke`1">
5290      <summary>
5291            Represents the default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodInvoke`1" /> interface.
5292            </summary>
5293    </member>
5294    <member name="M:LinFu.IoC.Configuration.BaseMethodInvoke`1.#ctor">
5295      <summary>
5296            Initializes the class with the default values.
5297            </summary>
5298    </member>
5299    <member name="M:LinFu.IoC.Configuration.BaseMethodInvoke`1.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
5300      <summary>
5301            Initializes the class with the <paramref name="source">source service container.</paramref></summary>
5302      <param name="source">The <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance that will initialize this class.</param>
5303    </member>
5304    <member name="M:LinFu.IoC.Configuration.BaseMethodInvoke`1.Invoke(System.Object,`0,System.Object[])">
5305      <summary>
5306            Instantiates an object instance with the <paramref name="targetMethod" />
5307            and <paramref name="arguments" />.
5308            </summary>
5309      <param name="target">The target object reference. In this particular case, this parameter will be ignored.</param>
5310      <param name="targetMethod">The target method.</param>
5311      <param name="arguments">The arguments to be used with the method.</param>
5312      <returns>An object reference that represents the method return value.</returns>
5313    </member>
5314    <member name="M:LinFu.IoC.Configuration.BaseMethodInvoke`1.DoInvoke(System.Object,`0,System.Reflection.MethodBase,System.Object[])">
5315      <summary>
5316            Invokes the <paramref name="targetMethod" /> with the given <paramref name="arguments" />.
5317            </summary>
5318      <param name="target">The target instance.</param>
5319      <param name="originalMethod">The original method that describes the target method.</param>
5320      <param name="targetMethod">The actual method that will be invoked.</param>
5321      <param name="arguments">The method arguments.</param>
5322      <returns>The return value from the target method.</returns>
5323    </member>
5324    <member name="M:LinFu.IoC.Configuration.BaseMethodInvoke`1.GenerateTargetMethod(`0)">
5325      <summary>
5326            Creates a <see cref="T:System.Reflection.Emit.DynamicMethod" /> that will be used as the 
5327            factory method and stores it in the method cache.
5328            </summary>
5329      <param name="targetMethod">The constructor that will be used to instantiate the target type.</param>
5330    </member>
5331    <member name="P:LinFu.IoC.Configuration.BaseMethodInvoke`1.MethodBuilder">
5332      <summary>
5333            Gets or sets the value indicating the method builder that will be used to
5334            create the target method.
5335            </summary>
5336    </member>
5337    <member name="T:LinFu.IoC.Configuration.MethodFinderContext">
5338      <summary>
5339            Represents the data associated with a <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinder`1" /> search.
5340            </summary>
5341    </member>
5342    <member name="M:LinFu.IoC.Configuration.MethodFinderContext.#ctor(System.Object[])">
5343      <summary>
5344            Initializes the context with the default values.
5345            </summary>
5346      <param name="arguments">The list of arguments that will be passed to the target method.</param>
5347    </member>
5348    <member name="M:LinFu.IoC.Configuration.MethodFinderContext.#ctor(System.Collections.Generic.IEnumerable{System.Type},System.Collections.Generic.IEnumerable{System.Object},System.Type)">
5349      <summary>
5350            Initializes the context with the default values.
5351            </summary>
5352      <param name="typeArguments">The type arguments that will be used to construct the target method.</param>
5353      <param name="arguments">The list of arguments that will be passed to the target method.</param>
5354      <param name="returnType">The type that must be returned by the target method.</param>
5355    </member>
5356    <member name="P:LinFu.IoC.Configuration.MethodFinderContext.TypeArguments">
5357      <summary>
5358            Gets or sets the value indicating the type arguments that will be passed to the target method.
5359            </summary>
5360    </member>
5361    <member name="P:LinFu.IoC.Configuration.MethodFinderContext.Arguments">
5362      <summary>
5363            Gets or sets the value indicating the list of arguments that will be passed to the target method.
5364            </summary>
5365    </member>
5366    <member name="P:LinFu.IoC.Configuration.MethodFinderContext.ReturnType">
5367      <summary>
5368            Gets or sets the value indicating the <see cref="T:System.Type">return type</see> of the target method.
5369            </summary>
5370    </member>
5371    <member name="T:LinFu.IoC.Configuration.MethodInvoke">
5372      <summary>
5373            A class that invokes methods.
5374            </summary>
5375    </member>
5376    <member name="M:LinFu.IoC.Configuration.MethodInvoke.#ctor">
5377      <summary>
5378            Initializes the class with the default values.
5379            </summary>
5380    </member>
5381    <member name="M:LinFu.IoC.Configuration.MethodInvoke.DoInvoke(System.Object,System.Reflection.MethodInfo,System.Reflection.MethodBase,System.Object[])">
5382      <summary>
5383            Invokes the <paramref name="targetMethod" /> with the given <paramref name="arguments" />.
5384            </summary>
5385      <param name="target">The target instance.</param>
5386      <param name="originalMethod">The original method that describes the target method.</param>
5387      <param name="targetMethod">The actual method that will be invoked.</param>
5388      <param name="arguments">The method arguments.</param>
5389      <returns>The return value from the target method.</returns>
5390    </member>
5391    <member name="T:LinFu.IoC.Configuration.Interfaces.IPropertySetter">
5392      <summary>
5393            A class responsible for setting property values.
5394            </summary>
5395    </member>
5396    <member name="M:LinFu.IoC.Configuration.Interfaces.IPropertySetter.Set(System.Object,System.Reflection.PropertyInfo,System.Object)">
5397      <summary>
5398            Sets the value of the <paramref name="targetProperty" />.
5399            </summary>
5400            /// <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>
5401    <member name="T:LinFu.IoC.Configuration.PropertySetter">
5402      <summary>
5403            A class responsible for setting property values.
5404            </summary>
5405    </member>
5406    <member name="M:LinFu.IoC.Configuration.PropertySetter.Set(System.Object,System.Reflection.PropertyInfo,System.Object)">
5407      <summary>
5408            Sets the value of the <paramref name="targetProperty" />.
5409            </summary>
5410      <param name="target">The target instance that contains the property to be modified.</param>
5411      <param name="targetProperty">The property that will store the given value.</param>
5412      <param name="value">The value that will be assigned to the property.</param>
5413    </member>
5414    <member name="M:LinFu.IoC.Configuration.PropertySetter.GenerateSetter(System.Reflection.PropertyInfo)">
5415      <summary>
5416            Generates an <see cref="T:System.Action`2" /> delegate that will be used
5417            as the property setter for a particular type.
5418            </summary>
5419      <param name="targetProperty">The property that will be modified.</param>
5420      <returns>A property setter.</returns>
5421    </member>
5422    <member name="T:LinFu.IoC.Configuration.RecursiveDependencyException">
5423      <summary>
5424            The exception thrown when a recursive dependency is detected
5425            inside a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
5426            </summary>
5427    </member>
5428    <member name="M:LinFu.IoC.Configuration.RecursiveDependencyException.#ctor(System.Collections.Generic.LinkedList{System.Type})">
5429      <summary>
5430            Initializes the <see cref="T:LinFu.IoC.Configuration.RecursiveDependencyException" />
5431            class with the <paramref name="typeChain">chain</paramref>
5432            of depedencies that caused the exception.
5433            </summary>
5434      <param name="typeChain">The sequence of types that caused the dependency exception.</param>
5435    </member>
5436    <member name="P:LinFu.IoC.Configuration.RecursiveDependencyException.TypeChain">
5437      <summary>
5438            Gets the value indicating the chain of types that caused the exception.
5439            </summary>
5440    </member>
5441    <member name="P:LinFu.IoC.Configuration.RecursiveDependencyException.Message">
5442      <summary>
5443            Gets the value indicating the error message from the <see cref="T:LinFu.IoC.Configuration.RecursiveDependencyException" />.
5444            </summary>
5445    </member>
5446    <member name="T:LinFu.IoC.Configuration.ReflectionMethodBuilder`1">
5447      <summary>
5448            Represents a <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodBuilder`1" /> type that simply lets 
5449            methods pass through it without performing any modifications to those methods.
5450            </summary>
5451    </member>
5452    <member name="M:LinFu.IoC.Configuration.ReflectionMethodBuilder`1.CreateMethod(`0)">
5453      <summary>
5454            Returns the <paramref name="existingMethod" /> unmodified.
5455            </summary>
5456      <param name="existingMethod">The method to be modified.</param>
5457      <returns>The modified method.</returns>
5458    </member>
5459    <member name="T:LinFu.IoC.Configuration.Interfaces.IArgumentResolver">
5460      <summary>
5461            Represents a type that can generate method arguments
5462            from an existing <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
5463            </summary>
5464    </member>
5465    <member name="M:LinFu.IoC.Configuration.Interfaces.IArgumentResolver.ResolveFrom(System.Collections.Generic.IEnumerable{LinFu.IoC.Configuration.Interfaces.INamedType},LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
5466      <summary>
5467            Generates constructor arguments from the given <paramref name="parameterTypes" />
5468            and <paramref name="container" />.
5469            </summary>
5470      <param name="parameterTypes">The parameter types for the target method.</param>
5471      <param name="container">The container that will provide the method arguments.</param>
5472      <param name="additionalArguments">The additional arguments that will be passed to the target method.</param>
5473      <returns>An array of objects that represent the arguments to be passed to the target method.</returns>
5474    </member>
5475    <member name="T:LinFu.IoC.Configuration.ArgumentResolver">
5476      <summary>
5477            Represents the default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IArgumentResolver" /> class.
5478            </summary>
5479    </member>
5480    <member name="M:LinFu.IoC.Configuration.ArgumentResolver.ResolveFrom(System.Collections.Generic.IEnumerable{LinFu.IoC.Configuration.Interfaces.INamedType},LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
5481      <summary>
5482            Generates method arguments from the given <paramref name="parameterTypes" />
5483            and <paramref name="container" />.
5484            </summary>
5485      <param name="parameterTypes">The parameter types for the target method.</param>
5486      <param name="container">The container that will provide the method arguments.</param>
5487      <param name="additionalArguments">The additional arguments that will be passed to the target method.</param>
5488      <returns>An array of objects that represent the arguments to be passed to the target method.</returns>
5489    </member>
5490    <member name="M:LinFu.IoC.Configuration.ArgumentResolver.AddArrayArgument(System.Type,LinFu.IoC.Interfaces.IServiceContainer,System.Collections.Generic.ICollection{System.Object})">
5491      <summary>
5492            Constructs an array of services using the services currently available
5493            in the <paramref name="container" />.
5494            </summary>
5495      <param name="parameterType">The current parameter type.</param>
5496      <param name="container">The container that will be used to build the array of services.</param>
5497      <param name="argumentList">The list that will store new service array.</param>
5498    </member>
5499    <member name="M:LinFu.IoC.Configuration.ArgumentResolver.AddEnumerableArgument(System.Type,LinFu.IoC.Interfaces.IServiceContainer,System.Collections.Generic.ICollection{System.Object})">
5500      <summary>
5501            Determines whether or not a parameter type is an existing
5502            list of available services and automatically constructs the
5503            service list and adds it to the <paramref name="argumentList" />.
5504            </summary>
5505      <param name="parameterType">The current constructor parameter type.</param>
5506      <param name="container">The container that will provide the argument values.</param>
5507      <param name="argumentList">The list that will hold the arguments to be passed to the constructor.</param>
5508    </member>
5509    <member name="T:LinFu.IoC.Configuration.Interfaces.IMemberResolver`1">
5510      <summary>
5511            Represents a class that can choose a member that best matches
5512            the services currently available in a given <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
5513            </summary>
5514      <typeparam name="TMember">The member type that will be searched.</typeparam>
5515    </member>
5516    <member name="M:LinFu.IoC.Configuration.Interfaces.IMemberResolver`1.ResolveFrom(System.Type,LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Configuration.Interfaces.IMethodFinderContext)">
5517      <summary>
5518            Uses the <paramref name="container" /> to determine which member can be used to instantiate
5519            a <paramref name="concreteType">concrete type</paramref>.
5520            </summary>
5521      <param name="concreteType">The target type.</param>
5522      <param name="container">The container that contains the service instances that will be used to invoke the target member.</param>
5523      <param name="finderContext">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext" /> that describes the target method.</param>
5524      <returns>A <typeparamref name="TMember" /> instance if a match is found; otherwise, it will return <c>null</c>.</returns>
5525    </member>
5526    <member name="T:LinFu.IoC.Configuration.MemberResolver`1">
5527      <summary>
5528            Represents a class that can choose a member that best matches
5529            the services currently available in a given <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.
5530            </summary>
5531      <typeparam name="TMember">The member type that will be searched.</typeparam>
5532    </member>
5533    <member name="M:LinFu.IoC.Configuration.MemberResolver`1.#ctor">
5534      <summary>
5535            The default constructor for the <see cref="T:LinFu.IoC.Configuration.MemberResolver`1" /> class.
5536            </summary>
5537    </member>
5538    <member name="M:LinFu.IoC.Configuration.MemberResolver`1.#ctor(System.Func{LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Configuration.Interfaces.IMethodFinder{`0}})">
5539      <summary>
5540            Initializes the class with a <paramref name="getFinder">functor</paramref>
5541            that will be used to instantiate the method finder that will be used in the search.
5542            </summary>
5543      <param name="getFinder">The functor that will be used to instantiate the method finder.</param>
5544    </member>
5545    <member name="M:LinFu.IoC.Configuration.MemberResolver`1.ResolveFrom(System.Type,LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Configuration.Interfaces.IMethodFinderContext)">
5546      <summary>
5547            Uses the <paramref name="container" /> to determine which member to use from
5548            the <paramref name="concreteType">concrete type</paramref>.
5549            </summary>
5550      <param name="concreteType">The target type.</param>
5551      <param name="container">The container that contains the member values that will be used to invoke the members.</param>
5552      <param name="finderContext">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext" /> that describes the target method.</param>
5553      <returns>A member instance if a match is found; otherwise, it will return <c>null</c>.</returns>
5554    </member>
5555    <member name="M:LinFu.IoC.Configuration.MemberResolver`1.GetMethodFinder(LinFu.IoC.Interfaces.IServiceContainer)">
5556      <summary>
5557            Determines the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinder`1" /> that will be used
5558            in the method search.
5559            </summary>
5560      <param name="container">
5561      </param>
5562      <returns>
5563      </returns>
5564    </member>
5565    <member name="M:LinFu.IoC.Configuration.MemberResolver`1.GetDefaultResult(System.Type)">
5566      <summary>
5567            The method used to retrieve the default result if no
5568            other alternative is found.
5569            </summary>
5570      <param name="concreteType">The target type that contains the default member.</param>
5571      <returns>The default member result.</returns>
5572    </member>
5573    <member name="M:LinFu.IoC.Configuration.MemberResolver`1.GetMembers(System.Type)">
5574      <summary>
5575            Lists the members associated with the <paramref name="concreteType" />.
5576            </summary>
5577      <param name="concreteType">The target type that contains the type members.</param>
5578      <returns>A list of members that belong to the concrete type.</returns>
5579    </member>
5580    <member name="T:LinFu.IoC.Configuration.ConstructorResolver">
5581      <summary>
5582            Represents the default implementation of the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMemberResolver`1" /> class.
5583            </summary>
5584    </member>
5585    <member name="M:LinFu.IoC.Configuration.ConstructorResolver.#ctor">
5586      <summary>
5587            Initializes the class with the default values.
5588            </summary>
5589    </member>
5590    <member name="M:LinFu.IoC.Configuration.ConstructorResolver.#ctor(System.Func{LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Configuration.Interfaces.IMethodFinder{System.Reflection.ConstructorInfo}})">
5591      <summary>
5592            Initializes the class using the custom method finder.
5593            </summary>
5594      <param name="getFinder">The functor that will be used to instantiate the method finder.</param>
5595    </member>
5596    <member name="M:LinFu.IoC.Configuration.ConstructorResolver.GetMembers(System.Type)">
5597      <summary>
5598            Returns the constructors that belong to the <paramref name="concreteType" />.
5599            </summary>
5600      <param name="concreteType">The type that contains the list of constructors.</param>
5601      <returns>A list of constructors that belong to the <paramref name="concreteType" />.</returns>
5602    </member>
5603    <member name="M:LinFu.IoC.Configuration.ConstructorResolver.GetDefaultResult(System.Type)">
5604      <summary>
5605            Returns the parameterless constructor in case the search fails.
5606            </summary>
5607      <param name="concreteType">The target type that contains the default constructor.</param>
5608      <returns>The default constructor.</returns>
5609    </member>
5610    <member name="T:LinFu.IoC.Configuration.MethodFinder`1">
5611      <summary>
5612            Represents a class that determines which method best matches the
5613            services currently in the target container.
5614            </summary>
5615      <typeparam name="T">The method type to search.</typeparam>
5616    </member>
5617    <member name="M:LinFu.IoC.Configuration.MethodFinder`1.GetBestMatch(System.Collections.Generic.IEnumerable{`0},LinFu.IoC.Configuration.Interfaces.IMethodFinderContext)">
5618      <summary>
5619            Determines which method best matches the
5620            services currently in the target container.
5621            </summary>
5622      <param name="items">The list of methods to search.</param>
5623      <param name="finderContext">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext" /> that describes the target method.</param>
5624      <returns>Returns the method with the most resolvable parameters from the target <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</returns>
5625    </member>
5626    <member name="M:LinFu.IoC.Configuration.MethodFinder`1.SelectBestMatch(System.Collections.Generic.IEnumerable{LinFu.Finders.Interfaces.IFuzzyItem{`0}})">
5627      <summary>
5628            Determines which item among the <paramref name="candidates" /> is the best match.
5629            </summary>
5630      <param name="candidates">The list of possible matches.</param>
5631      <returns>The best match if found; otherwise, it should return <c>null</c>.</returns>
5632    </member>
5633    <member name="M:LinFu.IoC.Configuration.MethodFinder`1.Rank(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{`0}},LinFu.IoC.Configuration.Interfaces.IMethodFinderContext)">
5634      <summary>
5635            Adds additional <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" /> to the fuzzy search list.
5636            </summary>
5637      <param name="methods">The list of methods to rank.</param>
5638      <param name="finderContext">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext" /> that describes the target method.</param>
5639    </member>
5640    <member name="M:LinFu.IoC.Configuration.MethodFinder`1.CheckArguments(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{`0}},System.Collections.Generic.IEnumerable{System.Type})">
5641      <summary>
5642            Attempts to match the <paramref name="additionalArgumentTypes" /> against the <paramref name="fuzzyList">list of methods</paramref>.
5643            </summary>
5644      <param name="fuzzyList">The list of items currently being compared.</param>
5645      <param name="additionalArgumentTypes">The set of <see cref="T:System.Type" /> instances that describe each supplied argument type.</param>
5646    </member>
5647    <member name="T:LinFu.IoC.Configuration.Resolvers.MethodFinderFromContainer`1">
5648      <summary>
5649            A <see cref="T:LinFu.IoC.Configuration.MethodFinder`1" /> type that uses a <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" />
5650            instance to find a method with the most resolvable parameters.
5651            </summary>
5652      <typeparam name="TMethod">The method type that will be searched.</typeparam>
5653    </member>
5654    <member name="M:LinFu.IoC.Configuration.Resolvers.MethodFinderFromContainer`1.Initialize(LinFu.IoC.Interfaces.IServiceContainer)">
5655      <summary>
5656            Initializes the target with the host container.
5657            </summary>
5658      <param name="container">The host <see cref="T:LinFu.IoC.Interfaces.IServiceContainer" /> instance.</param>
5659    </member>
5660    <member name="M:LinFu.IoC.Configuration.Resolvers.MethodFinderFromContainer`1.CheckParameters(LinFu.Finders.Interfaces.IFuzzyItem{`0},LinFu.IoC.Interfaces.IServiceContainer,System.Int32)">
5661      <summary>
5662            Examines a <see cref="T:System.Reflection.ConstructorInfo" /> instance
5663            and determines if it can be instantiated with the services embedded in
5664            the target <paramref name="container" />.
5665            </summary>
5666      <param name="fuzzyItem">The <see cref="T:LinFu.Finders.FuzzyItem`1" /> that represents the constructor to be examined.</param>
5667      <param name="container">The container that contains the services that will be used to instantiate the target type.</param>
5668      <param name="maxIndex">Indicates the index that 
5669            marks the point where the user-supplied arguments begin.</param>
5670    </member>
5671    <member name="M:LinFu.IoC.Configuration.Resolvers.MethodFinderFromContainer`1.Rank(System.Collections.Generic.IList{LinFu.Finders.Interfaces.IFuzzyItem{`0}},LinFu.IoC.Configuration.Interfaces.IMethodFinderContext)">
5672      <summary>
5673            Adds additional <see cref="T:LinFu.Finders.Interfaces.ICriteria`1" /> to the fuzzy search list.
5674            </summary>
5675      <param name="methods">The list of methods to rank.</param>
5676      <param name="finderContext">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodFinderContext" /> that describes the target method.</param>
5677    </member>
5678    <member name="P:LinFu.IoC.Configuration.Resolvers.MethodFinderFromContainer`1.Container">
5679      <summary>
5680            Gets the value indicating the service container that will be used in the
5681            method search.
5682            </summary>
5683    </member>
5684    <member name="T:LinFu.IoC.Interfaces.IServiceInstance">
5685      <summary>
5686            A type that represents a service instance returned by a container.
5687            </summary>
5688    </member>
5689    <member name="P:LinFu.IoC.Interfaces.IServiceInstance.ServiceInfo">
5690      <summary>
5691            Gets the value indicating the <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> instance 
5692            that describes the service instance itself.
5693            </summary>
5694    </member>
5695    <member name="P:LinFu.IoC.Interfaces.IServiceInstance.Object">
5696      <summary>
5697            Gets the value indicating the service instance itself.
5698            </summary>
5699    </member>
5700    <member name="T:LinFu.IoC.Configuration.ServiceInstance">
5701      <summary>
5702            Represents the default implementation of the <see cref="T:LinFu.IoC.Interfaces.IServiceInstance" /> interface.
5703            </summary>
5704    </member>
5705    <member name="T:LinFu.IoC.Configuration.TypeCounter">
5706      <summary>
5707            Counts the number of occurrences of a specific type.
5708            </summary>
5709    </member>
5710    <member name="M:LinFu.IoC.Configuration.TypeCounter.Increment(System.Type)">
5711      <summary>
5712            Increments the count for the current <paramref name="type" />.
5713            </summary>
5714      <param name="type">The type being counted.</param>
5715    </member>
5716    <member name="M:LinFu.IoC.Configuration.TypeCounter.CountOf(System.Type)">
5717      <summary>
5718            Returns the number of occurrences of a specific <paramref name="type" />.
5719            </summary>
5720      <param name="type">The type being counted.</param>
5721      <returns>The number of occurrences for the given type.</returns>
5722    </member>
5723    <member name="M:LinFu.IoC.Configuration.TypeCounter.Decrement(System.Type)">
5724      <summary>
5725            Decrements the count for the current <paramref name="type" />.
5726            </summary>
5727      <param name="type">The type being counted.</param>
5728    </member>
5729    <member name="M:LinFu.IoC.Configuration.TypeCounter.Reset">
5730      <summary>
5731            Resets the counts back to zero.
5732            </summary>
5733    </member>
5734    <member name="P:LinFu.IoC.Configuration.TypeCounter.AvailableTypes">
5735      <summary>
5736            Gets the value indicating the types that are
5737            currently being counted.
5738            </summary>
5739    </member>
5740    <member name="T:LinFu.IoC.Interfaces.ICreateInstance">
5741      <summary>
5742            Represents a type that can create service instances from a given <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance and <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" />.
5743            </summary>
5744    </member>
5745    <member name="M:LinFu.IoC.Interfaces.ICreateInstance.CreateFrom(LinFu.IoC.Interfaces.IFactoryRequest,LinFu.IoC.Interfaces.IFactory)">
5746      <summary>
5747            Creates a service instance using the given <paramref name="factoryRequest" /> and <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.
5748            </summary>
5749      <param name="factoryRequest">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the context of the service request.</param>
5750      <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be used to instantiate the service type.</param>
5751      <returns>A valid service instance.</returns>
5752    </member>
5753    <member name="T:LinFu.IoC.CreatorFromInstance">
5754      <summary>
5755            Represents an <see cref="T:LinFu.IoC.Interfaces.ICreateInstance" /> type that generates an object instance from an existing instance.
5756            </summary>
5757    </member>
5758    <member name="M:LinFu.IoC.CreatorFromInstance.#ctor(System.Object)">
5759      <summary>
5760            Initializes the class with the target <paramref name="instance" />.
5761            </summary>
5762      <param name="instance">The instance that will be returned every time the <see cref="M:LinFu.IoC.CreatorFromInstance.CreateFrom(LinFu.IoC.Interfaces.IFactoryRequest,LinFu.IoC.Interfaces.IFactory)" /> method is called.</param>
5763    </member>
5764    <member name="M:LinFu.IoC.CreatorFromInstance.CreateFrom(LinFu.IoC.Interfaces.IFactoryRequest,LinFu.IoC.Interfaces.IFactory)">
5765      <summary>
5766            Returns the object instance that given when the <see cref="T:LinFu.IoC.CreatorFromInstance" /> class instance was initialized.
5767            </summary>
5768      <param name="factoryRequest">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the context of the service request.</param>
5769      <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be used to instantiate the service type.</param>
5770      <returns>A valid service instance.</returns>
5771    </member>
5772    <member name="T:LinFu.IoC.DefaultCreator">
5773      <summary>
5774            Represents the default implementation for the <see cref="T:LinFu.IoC.Interfaces.ICreateInstance" /></summary>
5775    </member>
5776    <member name="M:LinFu.IoC.DefaultCreator.CreateFrom(LinFu.IoC.Interfaces.IFactoryRequest,LinFu.IoC.Interfaces.IFactory)">
5777      <summary>
5778            Creates a service instance using the given <paramref name="factoryRequest" /> and <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.
5779            </summary>
5780      <param name="factoryRequest">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the context of the service request.</param>
5781      <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will be used to instantiate the service type.</param>
5782      <returns>A valid service instance.</returns>
5783    </member>
5784    <member name="T:LinFu.IoC.Interfaces.IGetService">
5785      <summary>
5786            Represents a class that determines the behavior a <see cref="T:LinFu.IoC.ServiceContainer" /> instance.
5787            </summary>
5788    </member>
5789    <member name="M:LinFu.IoC.Interfaces.IGetService.GetService(LinFu.IoC.Interfaces.IServiceRequest)">
5790      <summary>
5791            Causes the container to instantiate the service using the given
5792            <paramref name="serviceRequest">service request</paramref>. If the service type cannot be created, it will simply return null.
5793            </summary>
5794      <returns>A valid object reference if the service can be created; otherwise, it will return <c>null</c></returns>
5795    </member>
5796    <member name="T:LinFu.IoC.DefaultGetServiceBehavior">
5797      <summary>
5798            Represents the default implementation for the <see cref="T:LinFu.IoC.Interfaces.IGetService" /> interface.
5799            </summary>
5800    </member>
5801    <member name="M:LinFu.IoC.DefaultGetServiceBehavior.#ctor(LinFu.IoC.Interfaces.IServiceContainer)">
5802      <summary>
5803            Initializes the class with the given <paramref name="container" /> instance.
5804            </summary>
5805      <param name="container">The target service container.</param>
5806    </member>
5807    <member name="M:LinFu.IoC.DefaultGetServiceBehavior.#ctor(LinFu.IoC.Interfaces.IServiceContainer,LinFu.IoC.Interfaces.ICreateInstance,LinFu.IoC.Interfaces.IPreProcessor,LinFu.IoC.Interfaces.IPostProcessor)">
5808      <summary>
5809            Initializes the class with the given <paramref name="container" /> instance.
5810            </summary>
5811      <param name="container">The target service container.</param>
5812      <param name="creator">The <see cref="T:LinFu.IoC.Interfaces.ICreateInstance" /> instance responsible for instantiating service types.</param>
5813      <param name="preProcessor">The <see cref="T:LinFu.IoC.Interfaces.IPreProcessor" /> that will allow users to intercept a given service request.</param>
5814      <param name="postProcessor">The <see cref="T:LinFu.IoC.Interfaces.IPostProcessor" /> instance that will handle the results of a given service request.</param>
5815    </member>
5816    <member name="M:LinFu.IoC.DefaultGetServiceBehavior.GetService(LinFu.IoC.Interfaces.IServiceRequest)">
5817      <summary>
5818            Instantiates the service described by the <paramref name="serviceRequest" />.
5819            </summary>
5820      <param name="serviceRequest">The <see cref="T:LinFu.IoC.Interfaces.IServiceRequest" /> that describes the service that needs to be instantiated.</param>
5821      <returns>A valid object reference if the service can be found; otherwise, it will return <c>null</c>.</returns>
5822    </member>
5823    <member name="T:LinFu.IoC.Interfaces.IFactory`1">
5824      <summary>
5825            A strongly-typed version of <see cref="T:LinFu.IoC.Interfaces.IFactory" />. Allows users
5826            to create their own service instances
5827            </summary>
5828      <typeparam name="T">The instance type that can be created by this factory.</typeparam>
5829    </member>
5830    <member name="M:LinFu.IoC.Interfaces.IFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
5831      <summary>
5832            Creates a service instance using the given <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance.
5833            </summary>
5834      <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
5835      <returns>An object instance that represents the service to be created. This cannot be <c>null</c>.</returns>
5836    </member>
5837    <member name="T:LinFu.IoC.Factories.BaseFactory`1">
5838      <summary>
5839            A factory base class that combines both the IFactory and
5840            the IFactory&lt;T&gt; interfaces into a single class.
5841            </summary>
5842      <typeparam name="T">
5843      </typeparam>
5844    </member>
5845    <member name="M:LinFu.IoC.Factories.BaseFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
5846      <summary>
5847            Creates a service instance using the given container.
5848            </summary>
5849      <remarks>
5850        <see cref="T:LinFu.IoC.Interfaces.IFactory" /> developers can inherit from this class
5851            instead of having to write their own custom factories
5852            from scratch. This should cut down on some of the boilerplate
5853            code necessary to get a factory class up and running.
5854            </remarks>
5855      <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
5856      <returns>An object instance that represents the service to be created. This cannot be <c>null</c>.</returns>
5857    </member>
5858    <member name="T:LinFu.IoC.Factories.DelegateFactory">
5859      <summary>
5860            Represents a class that uses a <see cref="T:System.MulticastDelegate" />
5861            to instantiate a service instance.
5862            </summary>
5863    </member>
5864    <member name="M:LinFu.IoC.Factories.DelegateFactory.#ctor(System.MulticastDelegate)">
5865      <summary>
5866            Initializes the class with the given <paramref name="targetDelegate" /></summary>
5867      <param name="targetDelegate">The delegate that will be used to instantiate the factory.</param>
5868    </member>
5869    <member name="M:LinFu.IoC.Factories.DelegateFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
5870      <summary>
5871            Instantiates the service type using the given delegate.
5872            </summary>
5873      <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> that describes the service that needs to be created.</param>
5874      <returns>The service instance.</returns>
5875    </member>
5876    <member name="T:LinFu.IoC.FactoryAdapter`1">
5877      <summary>
5878            An adapter that converts strongly-typed IFactory&lt;T&gt; 
5879            instances into an equivalent IFactory instance.
5880            </summary>
5881      <typeparam name="T">The service type to create.</typeparam>
5882    </member>
5883    <member name="M:LinFu.IoC.FactoryAdapter`1.#ctor(System.Object)">
5884      <summary>
5885            Creates the factory adapter using the given
5886            IFactory&lt;T&gt; instance.
5887            </summary>
5888      <param name="factory">The factory instance that
5889            will be called every time the <see cref="M:LinFu.IoC.Interfaces.IFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)" /> method
5890            is called. </param>
5891    </member>
5892    <member name="M:LinFu.IoC.FactoryAdapter`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
5893      <summary>
5894            Overridden. Uses the strongly-typed factory
5895            to create the service instance every time
5896            the <see cref="M:LinFu.IoC.Interfaces.IFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)" /> method 
5897            is called.
5898            </summary>
5899      <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
5900      <returns>An object instance that represents the service to be created. This cannot be <c>null</c>.</returns>
5901    </member>
5902    <member name="P:LinFu.IoC.FactoryAdapter`1.Factory">
5903      <summary>
5904            The factory that will create the service instance.
5905            </summary>
5906    </member>
5907    <member name="T:LinFu.IoC.Factories.FunctorFactory">
5908      <summary>
5909            A class that converts a delegate into an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.
5910            </summary>
5911    </member>
5912    <member name="M:LinFu.IoC.Factories.FunctorFactory.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,System.Object})">
5913      <summary>
5914            Initializes the class with the given <paramref name="factoryMethod" />.
5915            </summary>
5916      <param name="factoryMethod">The delegate that will be used to instantiate a type.</param>
5917    </member>
5918    <member name="M:LinFu.IoC.Factories.FunctorFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
5919      <summary>
5920            Instantiates an object reference using the given factory method.
5921            </summary>
5922      <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
5923      <returns>A non-null object reference that represents the service type.</returns>
5924    </member>
5925    <member name="T:LinFu.IoC.Factories.FunctorFactory`1">
5926      <summary>
5927            A class that converts a delegate into an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance.
5928            </summary>
5929    </member>
5930    <member name="M:LinFu.IoC.Factories.FunctorFactory`1.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,System.Object})">
5931      <summary>
5932            Initializes the class with the given <paramref name="factoryMethod" />.
5933            </summary>
5934      <param name="factoryMethod">The delegate that will be used to instantiate a type.</param>
5935    </member>
5936    <member name="M:LinFu.IoC.Factories.FunctorFactory`1.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,`0})">
5937      <summary>
5938            Initializes the class with the given <paramref name="factoryMethod" />.
5939            </summary>
5940      <param name="factoryMethod">The delegate that will be used to instantiate a type.</param>
5941    </member>
5942    <member name="M:LinFu.IoC.Factories.FunctorFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
5943      <summary>
5944            Instantiates an object reference using the given factory method.
5945            </summary>
5946      <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
5947      <returns>A non-null object reference that represents the service type.</returns>
5948    </member>
5949    <member name="T:LinFu.IoC.InstanceFactory">
5950      <summary>
5951            A factory that uses an existing object reference
5952            instead of creating a new service.
5953            </summary>
5954    </member>
5955    <member name="M:LinFu.IoC.InstanceFactory.#ctor(System.Object)">
5956      <summary>
5957            Creates a factory using the existing <paramref name="instance" />.
5958            </summary>
5959      <param name="instance">The existing object reference that the factory will return.</param>
5960    </member>
5961    <member name="M:LinFu.IoC.InstanceFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
5962      <summary>
5963            A method that returns the existing object reference associated with
5964            this factory. 
5965            </summary>
5966      <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
5967      <returns>A non-null object reference.</returns>
5968    </member>
5969    <member name="T:LinFu.IoC.Factories.LazyFactory">
5970      <summary>
5971            Represents an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> class that instantiates a factory only on request.
5972            </summary>
5973    </member>
5974    <member name="M:LinFu.IoC.Factories.LazyFactory.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,LinFu.IoC.Interfaces.IFactory})">
5975      <summary>
5976            Instantiates the class with the factory functor method.
5977            </summary>
5978      <param name="getFactory">The functor that will be responsible for instantiating the actual factory.</param>
5979    </member>
5980    <member name="M:LinFu.IoC.Factories.LazyFactory.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
5981      <summary>
5982            Instantiates the actual factory instance and uses it to instantiate the target service type.
5983            </summary>
5984      <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> that describes the service to be created.</param>
5985      <returns>A valid service instance.</returns>
5986    </member>
5987    <member name="T:LinFu.IoC.Factories.LazyFactory`1">
5988      <summary>
5989            Represents a factory that returns strongly-typed IFactory instances.
5990            </summary>
5991      <typeparam name="T">The service type to be created.</typeparam>
5992    </member>
5993    <member name="M:LinFu.IoC.Factories.LazyFactory`1.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,LinFu.IoC.Interfaces.IFactory})">
5994      <summary>
5995            Initializes the factory with the given <paramref name="getFactory" /> functor.
5996            </summary>
5997      <param name="getFactory">The functor that will instantiate the actual factory instance.</param>
5998    </member>
5999    <member name="M:LinFu.IoC.Factories.LazyFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
6000      <summary>
6001            Instantiates the service type using the actual factory.
6002            </summary>
6003      <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the service to be created.</param>
6004      <returns>
6005      </returns>
6006    </member>
6007    <member name="T:LinFu.IoC.Factories.OncePerRequestFactory`1">
6008      <summary>
6009            A factory that creates a unique service instance every time
6010            the <see cref="M:LinFu.IoC.Factories.OncePerRequestFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)" /> method is called.
6011            </summary>
6012      <typeparam name="T">The type of service to instantiate.</typeparam>
6013    </member>
6014    <member name="M:LinFu.IoC.Factories.OncePerRequestFactory`1.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,`0})">
6015      <summary>
6016            Initializes the factory class using the <paramref name="createInstance" />
6017            parameter as a factory delegate.
6018            </summary>
6019      <example>
6020            The following is an example of initializing a <c>OncePerRequestFactory&lt;T&gt;</c>
6021            type:
6022            <code>
6023                // Define the factory delegate
6024                Func&lt;IFactoryRequest, ISomeService&gt; createService = container=&gt;new SomeServiceImplementation();
6025            
6026                // Create the factory
6027                var factory = new OncePerRequestFactory&lt;ISomeService&gt;(createService);
6028            
6029                // Use the service instance
6030                var service = factory.CreateInstance(null);
6031                
6032                // ...
6033            </code></example>
6034      <param name="createInstance">The delegate that will be used to create each new service instance.</param>
6035    </member>
6036    <member name="M:LinFu.IoC.Factories.OncePerRequestFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
6037      <summary>
6038            This method creates a new service instance every time
6039            it is invoked. 
6040            </summary>
6041      <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
6042      <returns>A non-null object reference.</returns>
6043    </member>
6044    <member name="T:LinFu.IoC.Factories.OncePerThreadFactory`1">
6045      <summary>
6046            A factory that creates service instances that are unique
6047            from within the same thread as the factory itself.
6048            </summary>
6049      <typeparam name="T">The type of service to instantiate.</typeparam>
6050    </member>
6051    <member name="M:LinFu.IoC.Factories.OncePerThreadFactory`1.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,`0})">
6052      <summary>
6053            Initializes the factory class using the <paramref name="createInstance" />
6054            parameter as a factory delegate.
6055            </summary>
6056      <example>
6057            The following is an example of initializing a <c>OncePerThreadFactory&lt;T&gt;</c>
6058            type:
6059            <code>
6060                // Define the factory delegate
6061                Func&lt;IFactoryRequest, ISomeService&gt; createService = container=&gt;new SomeServiceImplementation();
6062            
6063                // Create the factory
6064                var factory = new OncePerThreadFactory&lt;ISomeService&gt;(createService);
6065            
6066                // Use the service instance
6067                var service = factory.CreateInstance(null);
6068                
6069                // ...
6070            </code></example>
6071      <param name="createInstance">The delegate that will be used to create each new service instance.</param>
6072    </member>
6073    <member name="M:LinFu.IoC.Factories.OncePerThreadFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
6074      <summary>
6075            Creates the service instance using the given <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" />
6076            instance. Every service instance created from this factory will
6077            only be created once per thread.
6078            </summary>
6079      <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
6080      <returns>A a service instance as thread-wide singleton.</returns>
6081    </member>
6082    <member name="T:LinFu.IoC.Factories.SingletonFactory`1">
6083      <summary>
6084            A factory that creates Singletons. Each service that this factory creates will only be created once per concrete type.
6085            </summary>
6086      <typeparam name="T">The type of service to instantiate.</typeparam>
6087    </member>
6088    <member name="M:LinFu.IoC.Factories.SingletonFactory`1.#ctor(System.Func{LinFu.IoC.Interfaces.IFactoryRequest,`0})">
6089      <summary>
6090            Initializes the factory class using the <paramref name="createInstance" />
6091            parameter as a factory delegate.
6092            </summary>
6093      <example>
6094            The following is an example of initializing a <c>SingletonFactory&lt;T&gt;</c>
6095            type:
6096            <code>
6097                // Define the factory delegate
6098                Func&lt;IFactoryRequest, ISomeService&gt; createService = container=&gt;new SomeServiceImplementation();
6099            
6100                // Create the factory
6101                var factory = new SingletonFactory&lt;ISomeService&gt;(createService);
6102            
6103                // Use the service instance
6104                var service = factory.CreateInstance(null);
6105                
6106                // ...
6107            </code></example>
6108      <param name="createInstance">The delegate that will be used to create each new service instance.</param>
6109    </member>
6110    <member name="M:LinFu.IoC.Factories.SingletonFactory`1.CreateInstance(LinFu.IoC.Interfaces.IFactoryRequest)">
6111      <summary>
6112            A method that creates a service instance as a singleton.
6113            </summary>
6114      <param name="request">The <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> instance that describes the requested service.</param>
6115      <returns>A service instance as a singleton.</returns>
6116    </member>
6117    <member name="T:LinFu.IoC.FactoryExtensions">
6118      <summary>
6119            Extends the <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance with a few helper methods.
6120            </summary>
6121    </member>
6122    <member name="M:LinFu.IoC.FactoryExtensions.CreateInstance(LinFu.IoC.Interfaces.IFactory,System.Type,LinFu.IoC.Interfaces.IServiceContainer,System.Object[])">
6123      <summary>
6124            Creates an object instance.
6125            </summary>
6126      <param name="factory">The target factory.</param>
6127      <param name="serviceType">The requested service type.</param>
6128      <param name="container">The target service contaienr.</param>
6129      <param name="additionalArguments">The additional arguments that will be used to create the service instance.</param>
6130      <returns>A service instance.</returns>
6131    </member>
6132    <member name="T:LinFu.IoC.FactoryRequest">
6133      <summary>
6134            Represents the default implementation of the <see cref="T:LinFu.IoC.Interfaces.IFactoryRequest" /> interface.
6135            </summary>
6136    </member>
6137    <member name="P:LinFu.IoC.FactoryRequest.Container">
6138      <summary>
6139            Gets the value indicating the service container that made the service request.
6140            </summary>
6141    </member>
6142    <member name="P:LinFu.IoC.FactoryRequest.ServiceName">
6143      <summary>
6144            Gets the value indicating the service name.
6145            </summary>
6146      <remarks>A null service name indicates that no service name was given during the request.</remarks>
6147    </member>
6148    <member name="P:LinFu.IoC.FactoryRequest.ServiceType">
6149      <summary>
6150            Gets the value indicating the requested service type.
6151            </summary>
6152    </member>
6153    <member name="P:LinFu.IoC.FactoryRequest.Arguments">
6154      <summary>
6155            Gets the value indicating the additional arguments given in the factory request.
6156            </summary>
6157    </member>
6158    <member name="T:LinFu.IoC.Interfaces.IFactoryStorage">
6159      <summary>
6160            Represents a class that stores factory instances.
6161            </summary>
6162    </member>
6163    <member name="M:LinFu.IoC.Interfaces.IFactoryStorage.GetFactory(LinFu.IoC.Interfaces.IServiceInfo)">
6164      <summary>
6165            Determines which factories should be used
6166            for a particular service request.
6167            </summary>
6168      <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
6169      <returns>A factory instance.</returns>
6170    </member>
6171    <member name="M:LinFu.IoC.Interfaces.IFactoryStorage.AddFactory(LinFu.IoC.Interfaces.IServiceInfo,LinFu.IoC.Interfaces.IFactory)">
6172      <summary>
6173            Adds a <see cref="T:LinFu.IoC.Interfaces.IFactory" /> to the current <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object.
6174            </summary>
6175      <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
6176      <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will create the object instance.</param>
6177    </member>
6178    <member name="M:LinFu.IoC.Interfaces.IFactoryStorage.ContainsFactory(LinFu.IoC.Interfaces.IServiceInfo)">
6179      <summary>
6180            Determines whether or not a factory exists in storage.
6181            </summary>
6182      <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
6183      <returns>Returns <c>true</c> if the factory exists; otherwise, it will return <c>false</c>.</returns>
6184    </member>
6185    <member name="P:LinFu.IoC.Interfaces.IFactoryStorage.AvailableFactories">
6186      <summary>
6187            Gets a value indicating the list of <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> objects
6188            that describe each available factory in the current <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" />
6189            instance.
6190            </summary>
6191    </member>
6192    <member name="T:LinFu.IoC.BaseFactoryStorage">
6193      <summary>
6194            Represents the default base implementation of the <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> class.
6195            </summary>
6196    </member>
6197    <member name="M:LinFu.IoC.BaseFactoryStorage.GetFactory(LinFu.IoC.Interfaces.IServiceInfo)">
6198      <summary>
6199            Determines which factories should be used
6200            for a particular service request.
6201            </summary>
6202      <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
6203      <returns>A factory instance.</returns>
6204    </member>
6205    <member name="M:LinFu.IoC.BaseFactoryStorage.AddFactory(LinFu.IoC.Interfaces.IServiceInfo,LinFu.IoC.Interfaces.IFactory)">
6206      <summary>
6207            Adds a <see cref="T:LinFu.IoC.Interfaces.IFactory" /> to the current <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object.
6208            </summary>
6209      <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
6210      <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will create the object instance.</param>
6211    </member>
6212    <member name="M:LinFu.IoC.BaseFactoryStorage.ContainsFactory(LinFu.IoC.Interfaces.IServiceInfo)">
6213      <summary>
6214            Determines whether or not a factory exists in storage.
6215            </summary>
6216      <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the target factory.</param>
6217      <returns>Returns <c>true</c> if the factory exists; otherwise, it will return <c>false</c>.</returns>
6218    </member>
6219    <member name="P:LinFu.IoC.BaseFactoryStorage.AvailableFactories">
6220      <summary>
6221            Gets a value indicating the list of <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> objects
6222            that describe each available factory in the current <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" />
6223            instance.
6224            </summary>
6225    </member>
6226    <member name="T:LinFu.IoC.FactoryStorage">
6227      <summary>
6228            Represents an <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> instance that adds generics support to the <see cref="T:LinFu.IoC.BaseFactoryStorage" /> implementation.
6229            </summary>
6230    </member>
6231    <member name="M:LinFu.IoC.FactoryStorage.ContainsFactory(LinFu.IoC.Interfaces.IServiceInfo)">
6232      <summary>
6233            Determines whether or not an <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance
6234            can be used to create the given service described by the <paramref name="serviceInfo" /> object.
6235            </summary>
6236      <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the service to be created.</param>
6237      <returns>
6238        <c>True</c> if the service can be created; otherwise, it will return <c>false</c>.</returns>
6239    </member>
6240    <member name="M:LinFu.IoC.FactoryStorage.GetFactory(LinFu.IoC.Interfaces.IServiceInfo)">
6241      <summary>
6242            Obtains the <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that can instantiate the
6243            service described by the <paramref name="serviceInfo" /> object instance.
6244            </summary>
6245      <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the service to be created.</param>
6246      <returns>A <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance if the service can be instantiated; otherwise, it will return <c>false</c>.</returns>
6247    </member>
6248    <member name="M:LinFu.IoC.FactoryStorage.GetDefaultFactory(System.String,System.Type,LinFu.IoC.Interfaces.IFactory)">
6249      <summary>
6250            Gets the default factory for a particular service type if no other factory instance can be found.
6251            </summary>
6252      <param name="serviceName">The name of the service.</param>
6253      <param name="serviceType">The service type.</param>
6254      <param name="factory">The original factory instance that was supposed to be created in order to instantiate the service instance.</param>
6255      <returns>The actual factory instance that will be used to create the service instance.</returns>
6256    </member>
6257    <member name="M:LinFu.IoC.FactoryStorage.GetGenericFactory(LinFu.IoC.Interfaces.IServiceInfo,LinFu.IoC.Interfaces.IFactory,System.String,System.Type)">
6258      <summary>
6259            Gets the generic factory for a concrete service type.
6260            </summary>
6261      <param name="serviceInfo">The <see cref="T:LinFu.IoC.Interfaces.IServiceInfo" /> object that describes the service to be created.</param>
6262      <param name="factory">The factory instance that will be used to create the service.</param>
6263      <param name="serviceName">The name of the service.</param>
6264      <param name="actualServiceType">The service type.</param>
6265      <returns>A factory instance that can create the generic type.</returns>
6266    </member>
6267    <member name="T:LinFu.IoC.FactoryStorageExtensions">
6268      <summary>
6269            An extension class that adds a few helper methods to the
6270            <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> interface.
6271            </summary>
6272    </member>
6273    <member name="M:LinFu.IoC.FactoryStorageExtensions.AddFactory(LinFu.IoC.Interfaces.IFactoryStorage,System.String,System.Type,System.Collections.Generic.IEnumerable{System.Type},LinFu.IoC.Interfaces.IFactory)">
6274      <summary>
6275            Adds a factory to the current <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> instance.
6276            </summary>
6277      <param name="storage">The <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object that will store the target factory.</param>
6278      <param name="serviceName">The name that will be associated with the target factory.</param>
6279      <param name="serviceType">The service type that the factory will be able to create.</param>
6280      <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
6281      <param name="factory">The <see cref="T:LinFu.IoC.Interfaces.IFactory" /> instance that will create the object instance.</param>
6282    </member>
6283    <member name="M:LinFu.IoC.FactoryStorageExtensions.GetFactory(LinFu.IoC.Interfaces.IFactoryStorage,System.String,System.Type,System.Collections.Generic.IEnumerable{System.Object})">
6284      <summary>
6285            Determines which factories should be used
6286            for a particular service request.
6287            </summary>
6288      <param name="storage">The <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object that holds the target factory.</param>
6289      <param name="serviceName">The name that will be associated with the target factory.</param>
6290      <param name="serviceType">The service type that the factory will be able to create.</param>
6291      <param name="additionalParameters">The list of additional parameter values that this factory type will use to instantiate the service.</param>
6292      <returns>A factory instance.</returns>
6293    </member>
6294    <member name="M:LinFu.IoC.FactoryStorageExtensions.GetFactory(LinFu.IoC.Interfaces.IFactoryStorage,System.String,System.Type,System.Collections.Generic.IEnumerable{System.Type})">
6295      <summary>
6296            Determines which factories should be used
6297            for a particular service request.
6298            </summary>
6299      <param name="storage">The <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object that holds the target factory.</param>
6300      <param name="serviceName">The name that will be associated with the target factory.</param>
6301      <param name="serviceType">The service type that the factory will be able to create.</param>
6302      <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
6303      <returns>A factory instance.</returns>
6304    </member>
6305    <member name="M:LinFu.IoC.FactoryStorageExtensions.ContainsFactory(LinFu.IoC.Interfaces.IFactoryStorage,System.String,System.Type,System.Collections.Generic.IEnumerable{System.Type})">
6306      <summary>
6307            Determines whether or not a factory exists in storage.
6308            </summary>
6309      <param name="storage">The <see cref="T:LinFu.IoC.Interfaces.IFactoryStorage" /> object that holds the target factory.</param>
6310      <param name="serviceName">The name that will be associated with the target factory.</param>
6311      <param name="serviceType">The service type that the factory will be able to create.</param>
6312      <param name="additionalParameterTypes">The list of additional parameters that this factory type will support.</param>
6313      <returns>Returns <c>true</c> if the factory exists; otherwise, it will return <c>false</c>.</returns>
6314    </member>
6315    <member name="T:LinFu.IoC.Interceptors.BaseInterceptor">
6316      <summary>
6317            A class that provides the most basic functionality for an interceptor.
6318            </summary>
6319    </member>
6320    <member name="M:LinFu.IoC.Interceptors.BaseInterceptor.#ctor">
6321      <summary>
6322            The default constructor.
6323            </summary>
6324    </member>
6325    <member name="M:LinFu.IoC.Interceptors.BaseInterceptor.#ctor(LinFu.IoC.Configuration.Interfaces.IMethodInvoke{System.Reflection.MethodInfo})">
6326      <summary>
6327            Initializes the class with the <paramref name="methodInvoke" /> instance.
6328            </summary>
6329      <param name="methodInvoke">The <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodInvoke`1" /> instance that will invoke the target method.</param>
6330    </member>
6331    <member name="M:LinFu.IoC.Interceptors.BaseInterceptor.Intercept(LinFu.AOP.Interfaces.IInvocationInfo)">
6332      <summary>
6333            Intercepts a method call using the given
6334            <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance.
6335            </summary>
6336      <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that will 
6337            contain all the necessary information associated with a 
6338            particular method call.</param>
6339      <returns>The return value of the target method. If the return type of the target
6340            method is <see cref="!:void" />, then the return value will be ignored.</returns>
6341    </member>
6342    <member name="M:LinFu.IoC.Interceptors.BaseInterceptor.GetTarget(LinFu.AOP.Interfaces.IInvocationInfo)">
6343      <summary>
6344            Gets the target object instance.
6345            </summary>
6346      <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> instance that describes the current execution context.</param>
6347    </member>
6348    <member name="P:LinFu.IoC.Interceptors.BaseInterceptor.MethodInvoker">
6349      <summary>
6350            Gets the value indicating the <see cref="T:LinFu.IoC.Configuration.Interfaces.IMethodInvoke`1" /> instance
6351            that will be used to invoke the target method.
6352            </summary>
6353    </member>
6354    <member name="T:LinFu.IoC.Interceptors.LazyInterceptor`1">
6355      <summary>
6356            An interceptor class that instantiates a target type only when
6357            the methods for that target are invoked.
6358            </summary>
6359      <typeparam name="T">The type of object to intercept.</typeparam>
6360    </member>
6361    <member name="M:LinFu.IoC.Interceptors.LazyInterceptor`1.#ctor(System.Func{`0})">
6362      <summary>
6363            Initializes the class with the <paramref name="getInstance" />
6364            factory method.
6365            </summary>
6366      <param name="getInstance">The functor that will be used to create the actual object instance.</param>
6367    </member>
6368    <member name="M:LinFu.IoC.Interceptors.LazyInterceptor`1.GetTarget(LinFu.AOP.Interfaces.IInvocationInfo)">
6369      <summary>
6370            A method that uses the given factory method to provide a target
6371            for the method currently being invoked.
6372            </summary>
6373      <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> object that describes the current invocation context.</param>
6374      <returns>The target itself.</returns>
6375    </member>
6376    <member name="M:LinFu.IoC.Interceptors.LazyInterceptor`1.Intercept(LinFu.AOP.Interfaces.IInvocationInfo)">
6377      <summary>
6378            Intercepts the method and initializes the target instance before the 
6379            actual object is invoked.
6380            </summary>
6381      <param name="info">The <see cref="T:LinFu.AOP.Interfaces.IInvocationInfo" /> that describes the execution context.</param>
6382      <returns>The return value of the target method.</returns>
6383    </member>
6384    <member name="T:LinFu.IoC.Interceptors.AroundInvokeAdapter">
6385      <summary>
6386            Adapts a <see cref="T:LinFu.AOP.Interfaces.IAroundInvoke" /> instance into an <see cref="T:LinFu.AOP.Interfaces.IInterceptor" />.
6387            </summary>
6388    </member>
6389    <member name=