PageRenderTime 199ms CodeModel.GetById 33ms app.highlight 112ms RepoModel.GetById 1ms app.codeStats 2ms

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

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