Adding XML documentation files for libraries

This commit is contained in:
lahma
2009-12-13 19:39:08 +00:00
parent fcfe2ed9b2
commit b71e8b3311
30 changed files with 500064 additions and 0 deletions

View File

@@ -0,0 +1,687 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Castle.DynamicProxy</name>
</assembly>
<members>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.AddressOfReferenceExpression">
<summary>
Summary description for ReferenceExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Expression">
<summary>
Summary description for Expression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.IEmitter">
<summary>
Summary description for IEmitter.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ArgumentReference">
<summary>
Summary description for ArgumentReference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.TypeReference">
<summary>
Summary description for TypeReference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Reference">
<summary>
Summary description for Reference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.AssignArrayStatement">
<summary>
Summary description for AssignArrayStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Statement">
<summary>
Summary description for Statement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.AssignStatement">
<summary>
Summary description for AssignStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.BinaryExpression">
<summary>
Summary description for BinaryExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ConditionExpression">
<summary>
Summary description for ConditionExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ConstructorInvocationExpression">
<summary>
Summary description for ConstructorInvocationExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ConvertExpression">
<summary>
Summary description for ConvertExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ExpressionStatement">
<summary>
Summary description for ExpressionStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.FieldReference">
<summary>
Summary description for FieldReference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.FixedReference">
<summary>
Summary description for FixedReference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.GotoStatement">
<summary>
Summary description for GotoStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.IndirectReference">
<summary>
Wraps a reference that is passed ByRef and provides indirect load/store facilities.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.LabelReference">
<summary>
Summary description for LabelReference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.LoadRefArrayElementExpression">
<summary>
Summary description for LoadRefArrayElementExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.LocalReference">
<summary>
Summary description for LocalReference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.LockBlockExpression">
<summary>
Summary description for LockBlockExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.MarkBranchStatement">
<summary>
Summary description for MarkBranchStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.MethodInvocationExpression">
<summary>
Summary description for MethodInvocationExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.MethodPointerExpression">
<summary>
Summary description for MethodPointerExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.MethodTokenExpression">
<summary>
Summary description for MethodTokenExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.NewArrayExpression">
<summary>
Summary description for NewArrayExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.NewInstanceExpression">
<summary>
Summary description for NewInstanceExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.NopStatement">
<summary>
Summary description for NopStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.NullExpression">
<summary>
Summary description for NullExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.PopValueFromStackStatement">
<summary>
Summary description for PopValueFromStackStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ReferenceExpression">
<summary>
Summary description for ReferenceExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ReferencesToObjectArrayExpression">
<summary>
Summary description for ReferencesToObjectArrayExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ReturnReferenceExpression">
<summary>
Summary description for ReturnReferenceExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ReturnStatement">
<summary>
Summary description for ReturnStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.SelfReference">
<summary>
Summary description for SelfReference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.TypeTokenExpression">
<summary>
Summary description for TypeTokenExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.VirtualMethodInvocationExpression">
<summary>
Summary description for VirtualMethodInvocationExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.Utils.ArgumentsUtil">
<summary>
Summary description for ArgumentsUtil.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.Utils.LdcOpCodesDictionary">
<summary>
Provides appropriate Ldc.X opcode for the type of primitive value to be loaded.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.Utils.LdindOpCodesDictionary">
<summary>
Provides appropriate Ldind.X opcode for
the type of primitive value to be loaded indirectly.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.Utils.StindOpCodesDictionary">
<summary>
Provides appropriate Stind.X opcode
for the type of primitive value to be stored indirectly.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.Utils.OpCodeUtil">
<summary>
Summary description for OpCodeUtil.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeBuilder.Utils.OpCodeUtil.EmitLoadOpCodeForConstantValue(System.Reflection.Emit.ILGenerator,System.Object)">
<summary>
Emits a load opcode of the appropriate kind for a constant string or
primitive value.
</summary>
<param name="gen"></param>
<param name="value"></param>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeBuilder.Utils.OpCodeUtil.EmitLoadOpCodeForDefaultValueOfType(System.Reflection.Emit.ILGenerator,System.Type)">
<summary>
Emits a load opcode of the appropriate kind for the constant default value of a
type, such as 0 for value types and null for reference types.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeBuilder.Utils.OpCodeUtil.EmitLoadIndirectOpCodeForType(System.Reflection.Emit.ILGenerator,System.Type)">
<summary>
Emits a load indirect opcode of the appropriate type for a value or object reference.
Pops a pointer off the evaluation stack, dereferences it and loads
a value of the specified type.
</summary>
<param name="gen"></param>
<param name="type"></param>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeBuilder.Utils.OpCodeUtil.EmitStoreIndirectOpCodeForType(System.Reflection.Emit.ILGenerator,System.Type)">
<summary>
Emits a store indirectopcode of the appropriate type for a value or object reference.
Pops a value of the specified type and a pointer off the evaluation stack, and
stores the value.
</summary>
<param name="gen"></param>
<param name="type"></param>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.AbstractCodeBuilder">
<summary>
Summary description for AbstractCodeBuilder.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.AbstractEasyType">
<summary>
Summary description for AbstractEasyType.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.ConstructorCodeBuilder">
<summary>
Summary description for ConstructorCodeBuilder.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.ConstructorCollection">
<summary>
Summary description for ConstructorCollection.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyCallable">
<summary>
Summary description for EasyCallable.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyNested">
<summary>
Summary description for EasyNested.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyConstructor">
<summary>
Summary description for EasyConstructor.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.IEasyMember">
<summary>
Summary description for IEasyBuilder.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyDefaultConstructor">
<summary>
Summary description for EasyDefaultConstructor.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyEvent">
<summary>
Summary description for EasyEvent.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyMethod">
<summary>
Summary description for EasyMethod.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyProperty">
<summary>
Summary description for EasyProperty.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyRuntimeConstructor">
<summary>
Summary description for EasyRuntimeConstructor.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyRuntimeMethod">
<summary>
Summary description for EasyRuntimeMethod.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyType">
<summary>
Summary description for EasyType.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EventsCollection">
<summary>
Summary description for EventsCollection.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.MethodCodeBuilder">
<summary>
Summary description for MethodCodeBuilder.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.MethodCollection">
<summary>
Summary description for MethodCollection.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.NestedTypeCollection">
<summary>
Summary description for NestedTypeCollection.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.PropertiesCollection">
<summary>
Summary description for PropertiesCollection.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeGenerators.Set">
<summary>
Summary description for Set.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator">
<summary>
Summary description for BaseCodeGenerator.
</summary>
</member>
<member name="F:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator._cachedFields">
<summary>
Holds instance fields which points to delegates instantiated
</summary>
</member>
<member name="F:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator._method2Delegate">
<summary>
MethodInfo => Callable delegate
</summary>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GenerateConstructor">
<summary>
Generates one public constructor receiving
the <see cref="T:Castle.DynamicProxy.IInterceptor"/> instance and instantiating a hashtable
</summary>
<remarks>
Should be overrided to provided specific semantics, if necessary
</remarks>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GenerateConstructorCode(Castle.DynamicProxy.Builder.CodeBuilder.ConstructorCodeBuilder,Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Reference,Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Reference,Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Reference)">
<summary>
Common initializatio code for the default constructor
</summary>
<param name="codebuilder"></param>
<param name="interceptorArg"></param>
<param name="targetArgument"></param>
<param name="mixinArray"></param>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GenerateInterfaceImplementation(System.Type[])">
<summary>
</summary>
<param name="interfaces"></param>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GenerateTypeImplementation(System.Type,System.Boolean)">
<summary>
Iterates over the interfaces and generate implementation
for each method in it.
</summary>
<param name="type">Type class</param>
<param name="ignoreInterfaces">if true, we inspect the
type for implemented interfaces</param>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.NormalizeNamespaceName(System.String)">
<summary>
Naive implementation, but valid for long namespaces
Works by using only the last piece of the namespace
</summary>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GetTypeName(System.Type)">
<summary>
Gets the name of a type, taking into consideration nested types.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.CreateProperty(System.Reflection.PropertyInfo)">
<summary>
Generate property implementation
</summary>
<param name="property"></param>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GenerateMethodImplementation(System.Reflection.MethodInfo,Castle.DynamicProxy.Builder.CodeBuilder.EasyProperty[])">
<summary>
Generates implementation for each method.
</summary>
<param name="method"></param>
<param name="properties"></param>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.WriteInterceptorInvocationMethod(System.Reflection.MethodInfo,Castle.DynamicProxy.Builder.CodeBuilder.EasyMethod)">
<summary>
Writes the method implementation. This
method generates the IL code for property get/set method and
ordinary methods.
</summary>
<param name="method">The method to implement.</param>
<param name="builder"><see cref="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyMethod"/> being constructed.</param>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeGenerators.CallableField">
<summary>
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeGenerators.ClassProxyGenerator">
<summary>
Summary description for ClassProxyGenerator.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.ClassProxyGenerator.GenerateConstructor(System.Reflection.ConstructorInfo)">
<summary>
Generates one public constructor receiving
the <see cref="T:Castle.DynamicProxy.IInterceptor"/> instance and instantiating a hashtable
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeGenerators.InterfaceProxyGenerator">
<summary>
Summary description for InterfaceProxyGenerator.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.InterfaceProxyGenerator.GetCorrectMethod(System.Reflection.MethodInfo)">
<summary>
From an interface method (abstract) look up
for a matching method on the target
</summary>
<param name="method"></param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.InterfaceProxyGenerator.GenerateConstructor">
<summary>
Generates one public constructor receiving
the <see cref="T:Castle.DynamicProxy.IInterceptor"/> instance and instantiating a HybridCollection
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeGenerators.ModuleScope">
<summary>
Summary description for ModuleScope.
</summary>
</member>
<member name="F:Castle.DynamicProxy.Builder.CodeGenerators.ModuleScope._moduleBuilderWithStrongName">
<summary>
Avoid leaks caused by non disposal of generated types.
</summary>
</member>
<member name="F:Castle.DynamicProxy.Builder.CodeGenerators.ModuleScope._typeCache">
<summary>
Keep track of generated types
</summary>
</member>
<member name="F:Castle.DynamicProxy.Builder.CodeGenerators.ModuleScope._lockobj">
<summary>
Used to lock the module builder creation
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeGenerators.ProxyGenerationException">
<summary>
Summary description for ProxyGenerationException.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.DefaultProxyBuilder">
<summary>
Summary description for DefaultProxyBuilder.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.IProxyBuilder">
<summary>
Summary description for IProxyBuilder.
</summary>
</member>
<member name="T:Castle.DynamicProxy.GeneratorContext">
<summary>
Summary description for GeneratorContext.
</summary>
</member>
<member name="M:Castle.DynamicProxy.GeneratorContext.ShouldCreateNewSlot(System.Reflection.MethodInfo)">
<summary>
Checks if the method has the same signature as a method that was marked as
one that should generate a new vtable slot.
</summary>
</member>
<member name="P:Castle.DynamicProxy.GeneratorContext.ProxyObjectReference">
<summary>
The implementor of IObjectReference responsible for
the deserialization and reconstruction of the proxy object
</summary>
</member>
<member name="T:Castle.DynamicProxy.IInvocation">
<summary>
Proceed with, manipulate or find more information about the call that
is being intercepted
</summary>
</member>
<member name="M:Castle.DynamicProxy.IInvocation.Proceed(System.Object[])">
<summary>
Proceed with the call that was intercepted.
</summary>
<param name="args">The arguments that will be passed onto the method.</param>
<returns>The argument returned from the method.</returns>
</member>
<member name="P:Castle.DynamicProxy.IInvocation.Proxy">
<summary>
Get the dynamic proxy that intercepted this call.
</summary>
</member>
<member name="P:Castle.DynamicProxy.IInvocation.InvocationTarget">
<summary>
Get or set target that will be invoked when Process() is called.
</summary>
<remarks>
Changing InvocationTarget only effects this call. Any call made after
this will invoke the original target of the proxy.
</remarks>
</member>
<member name="P:Castle.DynamicProxy.IInvocation.Method">
<summary>
Get the method that is being invoked.
</summary>
</member>
<member name="P:Castle.DynamicProxy.IInvocation.MethodInvocationTarget">
<summary>
Get the method on the target object that is being invoked.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Invocation.SameClassInvocation">
<summary>
</summary>
</member>
<member name="T:Castle.DynamicProxy.Serialization.ProxyObjectReference">
<summary>
Handles the deserialization of proxies.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Serialization.ProxyObjectReference.ResetScope">
<summary>
Usefull for test cases
</summary>
</member>
<member name="T:Castle.DynamicProxy.AssertUtil">
<summary>
Summary description for AssertUtil.
</summary>
</member>
<member name="T:Castle.DynamicProxy.ICallable">
<summary>
</summary>
</member>
<member name="M:Castle.DynamicProxy.ICallable.Call(System.Object[])">
<summary>
</summary>
<param name="args"></param>
<returns></returns>
</member>
<member name="P:Castle.DynamicProxy.ICallable.Target">
<summary>
</summary>
</member>
<member name="T:Castle.DynamicProxy.IInterceptor">
<summary>
</summary>
</member>
<member name="T:Castle.DynamicProxy.ProxyGenerator">
<summary>
Generates a Java style proxy. This overrides the .Net proxy requirements
that forces one to extend MarshalByRefObject or (for a different purpose)
ContextBoundObject to have a Proxiable class.
</summary>
<remarks>
The <see cref="T:Castle.DynamicProxy.ProxyGenerator"/> should be used to generate a class
implementing the specified interfaces. The dynamic implementation will
only calls the internal <see cref="T:Castle.DynamicProxy.IInterceptor"/> instance.
</remarks>
<remarks>
Please note that this proxy implementation currently doesn't not supports ref and out arguments
in methods.
Also note that only virtual methods can be proxied in a class.
</remarks>
<example>
<code>
MyInvocationHandler interceptor = ...
ProxyGenerator generator = new ProxyGenerator();
IInterfaceExposed proxy =
generator.CreateProxy( new Type[] { typeof(IInterfaceExposed) }, interceptor );
</code>
</example>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.CreateProxy(System.Type,Castle.DynamicProxy.IInterceptor,System.Object)">
<summary>
Generates a proxy implementing all the specified interfaces and
redirecting method invocations to the specifed interceptor.
</summary>
<param name="theInterface">Interface to be implemented</param>
<param name="interceptor">instance of <see cref="T:Castle.DynamicProxy.IInterceptor"/></param>
<param name="target">The proxy target.</param>
<returns>Proxy instance</returns>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.CreateProxy(System.Type[],Castle.DynamicProxy.IInterceptor,System.Object)">
<summary>
Generates a proxy implementing all the specified interfaces and
redirecting method invocations to the specifed interceptor.
</summary>
<param name="interfaces">Array of interfaces to be implemented</param>
<param name="interceptor">instance of <see cref="T:Castle.DynamicProxy.IInterceptor"/></param>
<param name="target">The proxy target.</param>
<returns>Proxy instance</returns>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.CreateCustomProxy(System.Type,Castle.DynamicProxy.IInterceptor,System.Object,Castle.DynamicProxy.GeneratorContext)">
<summary>
</summary>
<param name="theInterface"></param>
<param name="interceptor"></param>
<param name="context"></param>
<param name="target">The proxy target.</param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.CreateCustomProxy(System.Type[],Castle.DynamicProxy.IInterceptor,System.Object,Castle.DynamicProxy.GeneratorContext)">
<summary>
</summary>
<param name="interfaces"></param>
<param name="interceptor"></param>
<param name="context"></param>
<param name="target">The proxy target.</param>
<returns></returns>
</member>
<member name="T:Castle.DynamicProxy.StandardInterceptor">
<summary>
Summary description for StandardInterceptor.
</summary>
</member>
<member name="M:Castle.DynamicProxy.StandardInterceptor.Intercept(Castle.DynamicProxy.IInvocation,System.Object[])">
<summary>
</summary>
<param name="invocation"></param>
<param name="args"></param>
<returns></returns>
</member>
</members>
</doc>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,687 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Castle.DynamicProxy</name>
</assembly>
<members>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.AddressOfReferenceExpression">
<summary>
Summary description for ReferenceExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Expression">
<summary>
Summary description for Expression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.IEmitter">
<summary>
Summary description for IEmitter.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ArgumentReference">
<summary>
Summary description for ArgumentReference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.TypeReference">
<summary>
Summary description for TypeReference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Reference">
<summary>
Summary description for Reference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.AssignArrayStatement">
<summary>
Summary description for AssignArrayStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Statement">
<summary>
Summary description for Statement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.AssignStatement">
<summary>
Summary description for AssignStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.BinaryExpression">
<summary>
Summary description for BinaryExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ConditionExpression">
<summary>
Summary description for ConditionExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ConstructorInvocationExpression">
<summary>
Summary description for ConstructorInvocationExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ConvertExpression">
<summary>
Summary description for ConvertExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ExpressionStatement">
<summary>
Summary description for ExpressionStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.FieldReference">
<summary>
Summary description for FieldReference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.FixedReference">
<summary>
Summary description for FixedReference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.GotoStatement">
<summary>
Summary description for GotoStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.IndirectReference">
<summary>
Wraps a reference that is passed ByRef and provides indirect load/store facilities.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.LabelReference">
<summary>
Summary description for LabelReference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.LoadRefArrayElementExpression">
<summary>
Summary description for LoadRefArrayElementExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.LocalReference">
<summary>
Summary description for LocalReference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.LockBlockExpression">
<summary>
Summary description for LockBlockExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.MarkBranchStatement">
<summary>
Summary description for MarkBranchStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.MethodInvocationExpression">
<summary>
Summary description for MethodInvocationExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.MethodPointerExpression">
<summary>
Summary description for MethodPointerExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.MethodTokenExpression">
<summary>
Summary description for MethodTokenExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.NewArrayExpression">
<summary>
Summary description for NewArrayExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.NewInstanceExpression">
<summary>
Summary description for NewInstanceExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.NopStatement">
<summary>
Summary description for NopStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.NullExpression">
<summary>
Summary description for NullExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.PopValueFromStackStatement">
<summary>
Summary description for PopValueFromStackStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ReferenceExpression">
<summary>
Summary description for ReferenceExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ReferencesToObjectArrayExpression">
<summary>
Summary description for ReferencesToObjectArrayExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ReturnReferenceExpression">
<summary>
Summary description for ReturnReferenceExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ReturnStatement">
<summary>
Summary description for ReturnStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.SelfReference">
<summary>
Summary description for SelfReference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.TypeTokenExpression">
<summary>
Summary description for TypeTokenExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.VirtualMethodInvocationExpression">
<summary>
Summary description for VirtualMethodInvocationExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.Utils.ArgumentsUtil">
<summary>
Summary description for ArgumentsUtil.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.Utils.LdcOpCodesDictionary">
<summary>
Provides appropriate Ldc.X opcode for the type of primitive value to be loaded.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.Utils.LdindOpCodesDictionary">
<summary>
Provides appropriate Ldind.X opcode for
the type of primitive value to be loaded indirectly.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.Utils.StindOpCodesDictionary">
<summary>
Provides appropriate Stind.X opcode
for the type of primitive value to be stored indirectly.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.Utils.OpCodeUtil">
<summary>
Summary description for OpCodeUtil.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeBuilder.Utils.OpCodeUtil.EmitLoadOpCodeForConstantValue(System.Reflection.Emit.ILGenerator,System.Object)">
<summary>
Emits a load opcode of the appropriate kind for a constant string or
primitive value.
</summary>
<param name="gen"></param>
<param name="value"></param>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeBuilder.Utils.OpCodeUtil.EmitLoadOpCodeForDefaultValueOfType(System.Reflection.Emit.ILGenerator,System.Type)">
<summary>
Emits a load opcode of the appropriate kind for the constant default value of a
type, such as 0 for value types and null for reference types.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeBuilder.Utils.OpCodeUtil.EmitLoadIndirectOpCodeForType(System.Reflection.Emit.ILGenerator,System.Type)">
<summary>
Emits a load indirect opcode of the appropriate type for a value or object reference.
Pops a pointer off the evaluation stack, dereferences it and loads
a value of the specified type.
</summary>
<param name="gen"></param>
<param name="type"></param>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeBuilder.Utils.OpCodeUtil.EmitStoreIndirectOpCodeForType(System.Reflection.Emit.ILGenerator,System.Type)">
<summary>
Emits a store indirectopcode of the appropriate type for a value or object reference.
Pops a value of the specified type and a pointer off the evaluation stack, and
stores the value.
</summary>
<param name="gen"></param>
<param name="type"></param>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.AbstractCodeBuilder">
<summary>
Summary description for AbstractCodeBuilder.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.AbstractEasyType">
<summary>
Summary description for AbstractEasyType.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.ConstructorCodeBuilder">
<summary>
Summary description for ConstructorCodeBuilder.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.ConstructorCollection">
<summary>
Summary description for ConstructorCollection.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyCallable">
<summary>
Summary description for EasyCallable.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyNested">
<summary>
Summary description for EasyNested.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyConstructor">
<summary>
Summary description for EasyConstructor.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.IEasyMember">
<summary>
Summary description for IEasyBuilder.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyDefaultConstructor">
<summary>
Summary description for EasyDefaultConstructor.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyEvent">
<summary>
Summary description for EasyEvent.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyMethod">
<summary>
Summary description for EasyMethod.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyProperty">
<summary>
Summary description for EasyProperty.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyRuntimeConstructor">
<summary>
Summary description for EasyRuntimeConstructor.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyRuntimeMethod">
<summary>
Summary description for EasyRuntimeMethod.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyType">
<summary>
Summary description for EasyType.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EventsCollection">
<summary>
Summary description for EventsCollection.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.MethodCodeBuilder">
<summary>
Summary description for MethodCodeBuilder.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.MethodCollection">
<summary>
Summary description for MethodCollection.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.NestedTypeCollection">
<summary>
Summary description for NestedTypeCollection.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.PropertiesCollection">
<summary>
Summary description for PropertiesCollection.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeGenerators.Set">
<summary>
Summary description for Set.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator">
<summary>
Summary description for BaseCodeGenerator.
</summary>
</member>
<member name="F:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator._cachedFields">
<summary>
Holds instance fields which points to delegates instantiated
</summary>
</member>
<member name="F:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator._method2Delegate">
<summary>
MethodInfo => Callable delegate
</summary>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GenerateConstructor">
<summary>
Generates one public constructor receiving
the <see cref="T:Castle.DynamicProxy.IInterceptor"/> instance and instantiating a hashtable
</summary>
<remarks>
Should be overrided to provided specific semantics, if necessary
</remarks>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GenerateConstructorCode(Castle.DynamicProxy.Builder.CodeBuilder.ConstructorCodeBuilder,Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Reference,Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Reference,Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Reference)">
<summary>
Common initializatio code for the default constructor
</summary>
<param name="codebuilder"></param>
<param name="interceptorArg"></param>
<param name="targetArgument"></param>
<param name="mixinArray"></param>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GenerateInterfaceImplementation(System.Type[])">
<summary>
</summary>
<param name="interfaces"></param>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GenerateTypeImplementation(System.Type,System.Boolean)">
<summary>
Iterates over the interfaces and generate implementation
for each method in it.
</summary>
<param name="type">Type class</param>
<param name="ignoreInterfaces">if true, we inspect the
type for implemented interfaces</param>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.NormalizeNamespaceName(System.String)">
<summary>
Naive implementation, but valid for long namespaces
Works by using only the last piece of the namespace
</summary>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GetTypeName(System.Type)">
<summary>
Gets the name of a type, taking into consideration nested types.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.CreateProperty(System.Reflection.PropertyInfo)">
<summary>
Generate property implementation
</summary>
<param name="property"></param>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GenerateMethodImplementation(System.Reflection.MethodInfo,Castle.DynamicProxy.Builder.CodeBuilder.EasyProperty[])">
<summary>
Generates implementation for each method.
</summary>
<param name="method"></param>
<param name="properties"></param>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.WriteInterceptorInvocationMethod(System.Reflection.MethodInfo,Castle.DynamicProxy.Builder.CodeBuilder.EasyMethod)">
<summary>
Writes the method implementation. This
method generates the IL code for property get/set method and
ordinary methods.
</summary>
<param name="method">The method to implement.</param>
<param name="builder"><see cref="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyMethod"/> being constructed.</param>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeGenerators.CallableField">
<summary>
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeGenerators.ClassProxyGenerator">
<summary>
Summary description for ClassProxyGenerator.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.ClassProxyGenerator.GenerateConstructor(System.Reflection.ConstructorInfo)">
<summary>
Generates one public constructor receiving
the <see cref="T:Castle.DynamicProxy.IInterceptor"/> instance and instantiating a hashtable
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeGenerators.InterfaceProxyGenerator">
<summary>
Summary description for InterfaceProxyGenerator.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.InterfaceProxyGenerator.GetCorrectMethod(System.Reflection.MethodInfo)">
<summary>
From an interface method (abstract) look up
for a matching method on the target
</summary>
<param name="method"></param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.InterfaceProxyGenerator.GenerateConstructor">
<summary>
Generates one public constructor receiving
the <see cref="T:Castle.DynamicProxy.IInterceptor"/> instance and instantiating a HybridCollection
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeGenerators.ModuleScope">
<summary>
Summary description for ModuleScope.
</summary>
</member>
<member name="F:Castle.DynamicProxy.Builder.CodeGenerators.ModuleScope._moduleBuilderWithStrongName">
<summary>
Avoid leaks caused by non disposal of generated types.
</summary>
</member>
<member name="F:Castle.DynamicProxy.Builder.CodeGenerators.ModuleScope._typeCache">
<summary>
Keep track of generated types
</summary>
</member>
<member name="F:Castle.DynamicProxy.Builder.CodeGenerators.ModuleScope._lockobj">
<summary>
Used to lock the module builder creation
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeGenerators.ProxyGenerationException">
<summary>
Summary description for ProxyGenerationException.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.DefaultProxyBuilder">
<summary>
Summary description for DefaultProxyBuilder.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.IProxyBuilder">
<summary>
Summary description for IProxyBuilder.
</summary>
</member>
<member name="T:Castle.DynamicProxy.GeneratorContext">
<summary>
Summary description for GeneratorContext.
</summary>
</member>
<member name="M:Castle.DynamicProxy.GeneratorContext.ShouldCreateNewSlot(System.Reflection.MethodInfo)">
<summary>
Checks if the method has the same signature as a method that was marked as
one that should generate a new vtable slot.
</summary>
</member>
<member name="P:Castle.DynamicProxy.GeneratorContext.ProxyObjectReference">
<summary>
The implementor of IObjectReference responsible for
the deserialization and reconstruction of the proxy object
</summary>
</member>
<member name="T:Castle.DynamicProxy.IInvocation">
<summary>
Proceed with, manipulate or find more information about the call that
is being intercepted
</summary>
</member>
<member name="M:Castle.DynamicProxy.IInvocation.Proceed(System.Object[])">
<summary>
Proceed with the call that was intercepted.
</summary>
<param name="args">The arguments that will be passed onto the method.</param>
<returns>The argument returned from the method.</returns>
</member>
<member name="P:Castle.DynamicProxy.IInvocation.Proxy">
<summary>
Get the dynamic proxy that intercepted this call.
</summary>
</member>
<member name="P:Castle.DynamicProxy.IInvocation.InvocationTarget">
<summary>
Get or set target that will be invoked when Process() is called.
</summary>
<remarks>
Changing InvocationTarget only effects this call. Any call made after
this will invoke the original target of the proxy.
</remarks>
</member>
<member name="P:Castle.DynamicProxy.IInvocation.Method">
<summary>
Get the method that is being invoked.
</summary>
</member>
<member name="P:Castle.DynamicProxy.IInvocation.MethodInvocationTarget">
<summary>
Get the method on the target object that is being invoked.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Invocation.SameClassInvocation">
<summary>
</summary>
</member>
<member name="T:Castle.DynamicProxy.Serialization.ProxyObjectReference">
<summary>
Handles the deserialization of proxies.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Serialization.ProxyObjectReference.ResetScope">
<summary>
Usefull for test cases
</summary>
</member>
<member name="T:Castle.DynamicProxy.AssertUtil">
<summary>
Summary description for AssertUtil.
</summary>
</member>
<member name="T:Castle.DynamicProxy.ICallable">
<summary>
</summary>
</member>
<member name="M:Castle.DynamicProxy.ICallable.Call(System.Object[])">
<summary>
</summary>
<param name="args"></param>
<returns></returns>
</member>
<member name="P:Castle.DynamicProxy.ICallable.Target">
<summary>
</summary>
</member>
<member name="T:Castle.DynamicProxy.IInterceptor">
<summary>
</summary>
</member>
<member name="T:Castle.DynamicProxy.ProxyGenerator">
<summary>
Generates a Java style proxy. This overrides the .Net proxy requirements
that forces one to extend MarshalByRefObject or (for a different purpose)
ContextBoundObject to have a Proxiable class.
</summary>
<remarks>
The <see cref="T:Castle.DynamicProxy.ProxyGenerator"/> should be used to generate a class
implementing the specified interfaces. The dynamic implementation will
only calls the internal <see cref="T:Castle.DynamicProxy.IInterceptor"/> instance.
</remarks>
<remarks>
Please note that this proxy implementation currently doesn't not supports ref and out arguments
in methods.
Also note that only virtual methods can be proxied in a class.
</remarks>
<example>
<code>
MyInvocationHandler interceptor = ...
ProxyGenerator generator = new ProxyGenerator();
IInterfaceExposed proxy =
generator.CreateProxy( new Type[] { typeof(IInterfaceExposed) }, interceptor );
</code>
</example>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.CreateProxy(System.Type,Castle.DynamicProxy.IInterceptor,System.Object)">
<summary>
Generates a proxy implementing all the specified interfaces and
redirecting method invocations to the specifed interceptor.
</summary>
<param name="theInterface">Interface to be implemented</param>
<param name="interceptor">instance of <see cref="T:Castle.DynamicProxy.IInterceptor"/></param>
<param name="target">The proxy target.</param>
<returns>Proxy instance</returns>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.CreateProxy(System.Type[],Castle.DynamicProxy.IInterceptor,System.Object)">
<summary>
Generates a proxy implementing all the specified interfaces and
redirecting method invocations to the specifed interceptor.
</summary>
<param name="interfaces">Array of interfaces to be implemented</param>
<param name="interceptor">instance of <see cref="T:Castle.DynamicProxy.IInterceptor"/></param>
<param name="target">The proxy target.</param>
<returns>Proxy instance</returns>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.CreateCustomProxy(System.Type,Castle.DynamicProxy.IInterceptor,System.Object,Castle.DynamicProxy.GeneratorContext)">
<summary>
</summary>
<param name="theInterface"></param>
<param name="interceptor"></param>
<param name="context"></param>
<param name="target">The proxy target.</param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.CreateCustomProxy(System.Type[],Castle.DynamicProxy.IInterceptor,System.Object,Castle.DynamicProxy.GeneratorContext)">
<summary>
</summary>
<param name="interfaces"></param>
<param name="interceptor"></param>
<param name="context"></param>
<param name="target">The proxy target.</param>
<returns></returns>
</member>
<member name="T:Castle.DynamicProxy.StandardInterceptor">
<summary>
Summary description for StandardInterceptor.
</summary>
</member>
<member name="M:Castle.DynamicProxy.StandardInterceptor.Intercept(Castle.DynamicProxy.IInvocation,System.Object[])">
<summary>
</summary>
<param name="invocation"></param>
<param name="args"></param>
<returns></returns>
</member>
</members>
</doc>

View File

@@ -0,0 +1,927 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Iesi.Collections</name>
</assembly>
<members>
<member name="T:Iesi.Collections.DictionarySet">
<summary>
<p><c>DictionarySet</c> is an abstract class that supports the creation of new <c>Set</c>
types where the underlying data store is an <c>IDictionary</c> instance.</p>
<p>You can use any object that implements the <c>IDictionary</c> interface to hold set data.
You can define your own, or you can use one of the objects provided in the Framework.
The type of <c>IDictionary</c> you choose will affect both the performance and the behavior
of the <c>Set</c> using it. </p>
<p>To make a <c>Set</c> typed based on your own <c>IDictionary</c>, simply derive a
new class with a constructor that takes no parameters. Some <c>Set</c> implmentations
cannot be defined with a default constructor. If this is the case for your class,
you will need to override <c>Clone()</c> as well.</p>
<p>It is also standard practice that at least one of your constructors takes an <c>ICollection</c> or
an <c>ISet</c> as an argument.</p>
</summary>
</member>
<member name="T:Iesi.Collections.Set">
<summary>A collection that contains no duplicate elements.</summary>
<remarks>
<para>
This class models the mathematical set abstraction, and is the base class for all
other set implementations. The order of elements in a set is dependant on
(a) the data-structure implementation, and (b) the implementation of the various
methods, and thus is not guaranteed.
</para>
<para>
None of the <see cref="T:Iesi.Collections.ISet"/> implementations in this library are guranteed to be thread-safe
in any way unless wrapped in a <see cref="T:Iesi.Collections.SynchronizedSet"/>.
</para>
<para>
The following table summarizes the binary operators that are supported by the <see cref="T:Iesi.Collections.ISet"/>
type.
</para>
<list type="table">
<listheader>
<term>Operation</term>
<term>Description</term>
<term>Method</term>
<term>Operator</term>
</listheader>
<item>
<term>Union (OR)</term>
<term>Element included in result if it exists in either <c>A</c> OR <c>B</c>.</term>
<term><c>Union()</c></term>
<term><c>|</c></term>
</item>
<item>
<term>Intersection (AND)</term>
<term>Element included in result if it exists in both <c>A</c> AND <c>B</c>.</term>
<term><c>InterSect()</c></term>
<term><c>&amp;</c></term>
</item>
<item>
<term>Exclusive Or (XOR)</term>
<term>Element included in result if it exists in one, but not both, of <c>A</c> and <c>B</c>.</term>
<term><c>ExclusiveOr()</c></term>
<term><c>^</c></term>
</item>
<item>
<term>Minus (n/a)</term>
<term>Take all the elements in <c>A</c>. Now, if any of them exist in <c>B</c>, remove
them. Note that unlike the other operators, <c>A - B</c> is not the same as <c>B - A</c>.</term>
<term><c>Minus()</c></term>
<term><c>-</c></term>
</item>
</list>
</remarks>
</member>
<member name="T:Iesi.Collections.ISet">
<summary>
<p>A collection that contains no duplicate elements. This interface models the mathematical
<c>Set</c> abstraction.
The order of elements in a set is dependant on (a)the data-structure implementation, and
(b)the implementation of the various <c>Set</c> methods, and thus is not guaranteed.</p>
<p>None of the <c>Set</c> implementations in this library are guranteed to be thread-safe
in any way unless wrapped in a <c>SynchronizedSet</c>.</p>
<p>The following table summarizes the binary operators that are supported by the <c>Set</c> class.</p>
<list type="table">
<listheader>
<term>Operation</term>
<term>Description</term>
<term>Method</term>
</listheader>
<item>
<term>Union (OR)</term>
<term>Element included in result if it exists in either <c>A</c> OR <c>B</c>.</term>
<term><c>Union()</c></term>
</item>
<item>
<term>Intersection (AND)</term>
<term>Element included in result if it exists in both <c>A</c> AND <c>B</c>.</term>
<term><c>InterSect()</c></term>
</item>
<item>
<term>Exclusive Or (XOR)</term>
<term>Element included in result if it exists in one, but not both, of <c>A</c> and <c>B</c>.</term>
<term><c>ExclusiveOr()</c></term>
</item>
<item>
<term>Minus (n/a)</term>
<term>Take all the elements in <c>A</c>. Now, if any of them exist in <c>B</c>, remove
them. Note that unlike the other operators, <c>A - B</c> is not the same as <c>B - A</c>.</term>
<term><c>Minus()</c></term>
</item>
</list>
</summary>
</member>
<member name="M:Iesi.Collections.ISet.Union(Iesi.Collections.ISet)">
<summary>
Performs a "union" of the two sets, where all the elements
in both sets are present. That is, the element is included if it is in either <c>a</c> or <c>b</c>.
Neither this set nor the input set are modified during the operation. The return value
is a <c>Clone()</c> of this set with the extra elements added in.
</summary>
<param name="a">A collection of elements.</param>
<returns>A new <c>Set</c> containing the union of this <c>Set</c> with the specified collection.
Neither of the input objects is modified by the union.</returns>
</member>
<member name="M:Iesi.Collections.ISet.Intersect(Iesi.Collections.ISet)">
<summary>
Performs an "intersection" of the two sets, where only the elements
that are present in both sets remain. That is, the element is included if it exists in
both sets. The <c>Intersect()</c> operation does not modify the input sets. It returns
a <c>Clone()</c> of this set with the appropriate elements removed.
</summary>
<param name="a">A set of elements.</param>
<returns>The intersection of this set with <c>a</c>.</returns>
</member>
<member name="M:Iesi.Collections.ISet.Minus(Iesi.Collections.ISet)">
<summary>
Performs a "minus" of set <c>b</c> from set <c>a</c>. This returns a set of all
the elements in set <c>a</c>, removing the elements that are also in set <c>b</c>.
The original sets are not modified during this operation. The result set is a <c>Clone()</c>
of this <c>Set</c> containing the elements from the operation.
</summary>
<param name="a">A set of elements.</param>
<returns>A set containing the elements from this set with the elements in <c>a</c> removed.</returns>
</member>
<member name="M:Iesi.Collections.ISet.ExclusiveOr(Iesi.Collections.ISet)">
<summary>
Performs an "exclusive-or" of the two sets, keeping only the elements that
are in one of the sets, but not in both. The original sets are not modified
during this operation. The result set is a <c>Clone()</c> of this set containing
the elements from the exclusive-or operation.
</summary>
<param name="a">A set of elements.</param>
<returns>A set containing the result of <c>a ^ b</c>.</returns>
</member>
<member name="M:Iesi.Collections.ISet.Contains(System.Object)">
<summary>
Returns <see langword="true" /> if this set contains the specified element.
</summary>
<param name="o">The element to look for.</param>
<returns><see langword="true" /> if this set contains the specified element, <see langword="false" /> otherwise.</returns>
</member>
<member name="M:Iesi.Collections.ISet.ContainsAll(System.Collections.ICollection)">
<summary>
Returns <see langword="true" /> if the set contains all the elements in the specified collection.
</summary>
<param name="c">A collection of objects.</param>
<returns><see langword="true" /> if the set contains all the elements in the specified collection, <see langword="false" /> otherwise.</returns>
</member>
<member name="M:Iesi.Collections.ISet.Add(System.Object)">
<summary>
Adds the specified element to this set if it is not already present.
</summary>
<param name="o">The object to add to the set.</param>
<returns><see langword="true" /> is the object was added, <see langword="false" /> if it was already present.</returns>
</member>
<member name="M:Iesi.Collections.ISet.AddAll(System.Collections.ICollection)">
<summary>
Adds all the elements in the specified collection to the set if they are not already present.
</summary>
<param name="c">A collection of objects to add to the set.</param>
<returns><see langword="true" /> is the set changed as a result of this operation, <see langword="false" /> if not.</returns>
</member>
<member name="M:Iesi.Collections.ISet.Remove(System.Object)">
<summary>
Removes the specified element from the set.
</summary>
<param name="o">The element to be removed.</param>
<returns><see langword="true" /> if the set contained the specified element, <see langword="false" /> otherwise.</returns>
</member>
<member name="M:Iesi.Collections.ISet.RemoveAll(System.Collections.ICollection)">
<summary>
Remove all the specified elements from this set, if they exist in this set.
</summary>
<param name="c">A collection of elements to remove.</param>
<returns><see langword="true" /> if the set was modified as a result of this operation.</returns>
</member>
<member name="M:Iesi.Collections.ISet.RetainAll(System.Collections.ICollection)">
<summary>
Retains only the elements in this set that are contained in the specified collection.
</summary>
<param name="c">Collection that defines the set of elements to be retained.</param>
<returns><see langword="true" /> if this set changed as a result of this operation.</returns>
</member>
<member name="M:Iesi.Collections.ISet.Clear">
<summary>
Removes all objects from the set.
</summary>
</member>
<member name="P:Iesi.Collections.ISet.IsEmpty">
<summary>
Returns <see langword="true" /> if this set contains no elements.
</summary>
</member>
<member name="M:Iesi.Collections.Set.Union(Iesi.Collections.ISet)">
<summary>
Performs a "union" of the two sets, where all the elements
in both sets are present. That is, the element is included if it is in either <c>a</c> or <c>b</c>.
Neither this set nor the input set are modified during the operation. The return value
is a clone of this set with the extra elements added in.
</summary>
<param name="a">A collection of elements.</param>
<returns>A new <see cref="T:Iesi.Collections.ISet"/> instance containing the union of this instance with the specified collection.
Neither of the input objects is modified by the union.</returns>
</member>
<member name="M:Iesi.Collections.Set.Union(Iesi.Collections.ISet,Iesi.Collections.ISet)">
<summary>
Performs a "union" of two sets, where all the elements
in both are present. That is, the element is included if it is in either <c>a</c> or <c>b</c>.
The return value is a clone of one of the sets (<c>a</c> if it is not <see langword="null" />) with elements of the other set
added in. Neither of the input sets is modified by the operation.
</summary>
<param name="a">A set of elements.</param>
<param name="b">A set of elements.</param>
<returns>A set containing the union of the input sets. <see langword="null" /> if both sets are <see langword="null" />.</returns>
</member>
<member name="M:Iesi.Collections.Set.op_BitwiseOr(Iesi.Collections.Set,Iesi.Collections.Set)">
<summary>
Performs a "union" of two sets, where all the elements
in both are present. That is, the element is included if it is in either <c>a</c> or <c>b</c>.
The return value is a clone of one of the sets (<c>a</c> if it is not <see langword="null" />) with elements of the other set
added in. Neither of the input sets is modified by the operation.
</summary>
<param name="a">A set of elements.</param>
<param name="b">A set of elements.</param>
<returns>A set containing the union of the input sets. <see langword="null" /> if both sets are <see langword="null" />.</returns>
</member>
<member name="M:Iesi.Collections.Set.Intersect(Iesi.Collections.ISet)">
<summary>
Performs an "intersection" of the two sets, where only the elements
that are present in both sets remain. That is, the element is included if it exists in
both sets. The <c>Intersect()</c> operation does not modify the input sets. It returns
a <c>Clone()</c> of this set with the appropriate elements removed.
</summary>
<param name="a">A set of elements.</param>
<returns>The intersection of this set with <c>a</c>.</returns>
</member>
<member name="M:Iesi.Collections.Set.Intersect(Iesi.Collections.ISet,Iesi.Collections.ISet)">
<summary>
Performs an "intersection" of the two sets, where only the elements
that are present in both sets remain. That is, the element is included only if it exists in
both <c>a</c> and <c>b</c>. Neither input object is modified by the operation.
The result object is a <c>Clone()</c> of one of the input objects (<c>a</c> if it is not <see langword="null" />) containing the
elements from the intersect operation.
</summary>
<param name="a">A set of elements.</param>
<param name="b">A set of elements.</param>
<returns>The intersection of the two input sets. <see langword="null" /> if both sets are <see langword="null" />.</returns>
</member>
<member name="M:Iesi.Collections.Set.op_BitwiseAnd(Iesi.Collections.Set,Iesi.Collections.Set)">
<summary>
Performs an "intersection" of the two sets, where only the elements
that are present in both sets remain. That is, the element is included only if it exists in
both <c>a</c> and <c>b</c>. Neither input object is modified by the operation.
The result object is a <c>Clone()</c> of one of the input objects (<c>a</c> if it is not <see langword="null" />) containing the
elements from the intersect operation.
</summary>
<param name="a">A set of elements.</param>
<param name="b">A set of elements.</param>
<returns>The intersection of the two input sets. <see langword="null" /> if both sets are <see langword="null" />.</returns>
</member>
<member name="M:Iesi.Collections.Set.Minus(Iesi.Collections.ISet)">
<summary>
Performs a "minus" of set <c>b</c> from set <c>a</c>. This returns a set of all
the elements in set <c>a</c>, removing the elements that are also in set <c>b</c>.
The original sets are not modified during this operation. The result set is a <c>Clone()</c>
of this <c>Set</c> containing the elements from the operation.
</summary>
<param name="a">A set of elements.</param>
<returns>A set containing the elements from this set with the elements in <c>a</c> removed.</returns>
</member>
<member name="M:Iesi.Collections.Set.Minus(Iesi.Collections.ISet,Iesi.Collections.ISet)">
<summary>
Performs a "minus" of set <c>b</c> from set <c>a</c>. This returns a set of all
the elements in set <c>a</c>, removing the elements that are also in set <c>b</c>.
The original sets are not modified during this operation. The result set is a <c>Clone()</c>
of set <c>a</c> containing the elements from the operation.
</summary>
<param name="a">A set of elements.</param>
<param name="b">A set of elements.</param>
<returns>A set containing <c>A - B</c> elements. <see langword="null" /> if <c>a</c> is <see langword="null" />.</returns>
</member>
<member name="M:Iesi.Collections.Set.op_Subtraction(Iesi.Collections.Set,Iesi.Collections.Set)">
<summary>
Performs a "minus" of set <c>b</c> from set <c>a</c>. This returns a set of all
the elements in set <c>a</c>, removing the elements that are also in set <c>b</c>.
The original sets are not modified during this operation. The result set is a <c>Clone()</c>
of set <c>a</c> containing the elements from the operation.
</summary>
<param name="a">A set of elements.</param>
<param name="b">A set of elements.</param>
<returns>A set containing <c>A - B</c> elements. <see langword="null" /> if <c>a</c> is <see langword="null" />.</returns>
</member>
<member name="M:Iesi.Collections.Set.ExclusiveOr(Iesi.Collections.ISet)">
<summary>
Performs an "exclusive-or" of the two sets, keeping only the elements that
are in one of the sets, but not in both. The original sets are not modified
during this operation. The result set is a clone of this set containing
the elements from the exclusive-or operation.
</summary>
<param name="a">A set of elements.</param>
<returns>A set containing the result of <c>a ^ b</c>.</returns>
</member>
<member name="M:Iesi.Collections.Set.ExclusiveOr(Iesi.Collections.ISet,Iesi.Collections.ISet)">
<summary>
Performs an "exclusive-or" of the two sets, keeping only the elements that
are in one of the sets, but not in both. The original sets are not modified
during this operation. The result set is a clone of one of the sets
(<c>a</c> if it is not <see langword="null" />) containing
the elements from the exclusive-or operation.
</summary>
<param name="a">A set of elements.</param>
<param name="b">A set of elements.</param>
<returns>A set containing the result of <c>a ^ b</c>. <see langword="null" /> if both sets are <see langword="null" />.</returns>
</member>
<member name="M:Iesi.Collections.Set.op_ExclusiveOr(Iesi.Collections.Set,Iesi.Collections.Set)">
<summary>
Performs an "exclusive-or" of the two sets, keeping only the elements that
are in one of the sets, but not in both. The original sets are not modified
during this operation. The result set is a clone of one of the sets
(<c>a</c> if it is not <see langword="null" />) containing
the elements from the exclusive-or operation.
</summary>
<param name="a">A set of elements.</param>
<param name="b">A set of elements.</param>
<returns>A set containing the result of <c>a ^ b</c>. <see langword="null" /> if both sets are <see langword="null" />.</returns>
</member>
<member name="M:Iesi.Collections.Set.Add(System.Object)">
<summary>
Adds the specified element to this set if it is not already present.
</summary>
<param name="o">The object to add to the set.</param>
<returns><see langword="true" /> is the object was added, <see langword="false" /> if it was already present.</returns>
</member>
<member name="M:Iesi.Collections.Set.AddAll(System.Collections.ICollection)">
<summary>
Adds all the elements in the specified collection to the set if they are not already present.
</summary>
<param name="c">A collection of objects to add to the set.</param>
<returns><see langword="true" /> is the set changed as a result of this operation, <see langword="false" /> if not.</returns>
</member>
<member name="M:Iesi.Collections.Set.Clear">
<summary>
Removes all objects from the set.
</summary>
</member>
<member name="M:Iesi.Collections.Set.Contains(System.Object)">
<summary>
Returns <see langword="true" /> if this set contains the specified element.
</summary>
<param name="o">The element to look for.</param>
<returns><see langword="true" /> if this set contains the specified element, <see langword="false" /> otherwise.</returns>
</member>
<member name="M:Iesi.Collections.Set.ContainsAll(System.Collections.ICollection)">
<summary>
Returns <see langword="true" /> if the set contains all the elements in the specified collection.
</summary>
<param name="c">A collection of objects.</param>
<returns><see langword="true" /> if the set contains all the elements in the specified collection, <see langword="false" /> otherwise.</returns>
</member>
<member name="M:Iesi.Collections.Set.Remove(System.Object)">
<summary>
Removes the specified element from the set.
</summary>
<param name="o">The element to be removed.</param>
<returns><see langword="true" /> if the set contained the specified element, <see langword="false" /> otherwise.</returns>
</member>
<member name="M:Iesi.Collections.Set.RemoveAll(System.Collections.ICollection)">
<summary>
Remove all the specified elements from this set, if they exist in this set.
</summary>
<param name="c">A collection of elements to remove.</param>
<returns><see langword="true" /> if the set was modified as a result of this operation.</returns>
</member>
<member name="M:Iesi.Collections.Set.RetainAll(System.Collections.ICollection)">
<summary>
Retains only the elements in this set that are contained in the specified collection.
</summary>
<param name="c">Collection that defines the set of elements to be retained.</param>
<returns><see langword="true" /> if this set changed as a result of this operation.</returns>
</member>
<member name="M:Iesi.Collections.Set.Clone">
<summary>
Returns a clone of the set instance. This will work for derived set
classes if the derived class implements a constructor that takes no arguments.
</summary>
<returns>A clone of this object.</returns>
</member>
<member name="M:Iesi.Collections.Set.CopyTo(System.Array,System.Int32)">
<summary>
Copies the elements in the set to an array. The type of array needs
to be compatible with the objects in the set, obviously.
</summary>
<param name="array">An array that will be the target of the copy operation.</param>
<param name="index">The zero-based index where copying will start.</param>
</member>
<member name="M:Iesi.Collections.Set.GetEnumerator">
<summary>
Returns an enumerator that iterates through the set.
</summary>
<returns>
An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the set.
</returns>
</member>
<member name="P:Iesi.Collections.Set.IsEmpty">
<summary>
Returns <see langword="true" /> if this set contains no elements.
</summary>
</member>
<member name="P:Iesi.Collections.Set.Count">
<summary>
The number of elements currently contained in this collection.
</summary>
</member>
<member name="P:Iesi.Collections.Set.IsSynchronized">
<summary>
Returns <see langword="true"/> if the set is synchronized across threads. Note that
enumeration is inherently not thread-safe. Use the <see cref="P:Iesi.Collections.Set.SyncRoot"/> to lock the
object during enumeration.
</summary>
</member>
<member name="P:Iesi.Collections.Set.SyncRoot">
<summary>
An object that can be used to synchronize this collection to make it thread-safe.
When implementing this, if your object uses a base object, like an <see cref="T:System.Collections.IDictionary"/>,
or anything that has a <see cref="P:Iesi.Collections.Set.SyncRoot"/>, return that object instead
of <see langword="this"/>.
</summary>
</member>
<member name="F:Iesi.Collections.DictionarySet.InternalDictionary">
<summary>
Provides the storage for elements in the <c>Set</c>, stored as the key-set
of the <c>IDictionary</c> object. Set this object in the constructor
if you create your own <c>Set</c> class.
</summary>
</member>
<member name="M:Iesi.Collections.DictionarySet.Add(System.Object)">
<summary>
Adds the specified element to this set if it is not already present.
</summary>
<param name="o">The object to add to the set.</param>
<returns><see langword="true" /> is the object was added, <see langword="false" /> if it was already present.</returns>
</member>
<member name="M:Iesi.Collections.DictionarySet.AddAll(System.Collections.ICollection)">
<summary>
Adds all the elements in the specified collection to the set if they are not already present.
</summary>
<param name="c">A collection of objects to add to the set.</param>
<returns><see langword="true" /> is the set changed as a result of this operation, <see langword="false" /> if not.</returns>
</member>
<member name="M:Iesi.Collections.DictionarySet.Clear">
<summary>
Removes all objects from the set.
</summary>
</member>
<member name="M:Iesi.Collections.DictionarySet.Contains(System.Object)">
<summary>
Returns <see langword="true" /> if this set contains the specified element.
</summary>
<param name="o">The element to look for.</param>
<returns><see langword="true" /> if this set contains the specified element, <see langword="false" /> otherwise.</returns>
</member>
<member name="M:Iesi.Collections.DictionarySet.ContainsAll(System.Collections.ICollection)">
<summary>
Returns <see langword="true" /> if the set contains all the elements in the specified collection.
</summary>
<param name="c">A collection of objects.</param>
<returns><see langword="true" /> if the set contains all the elements in the specified collection, <see langword="false" /> otherwise.</returns>
</member>
<member name="M:Iesi.Collections.DictionarySet.Remove(System.Object)">
<summary>
Removes the specified element from the set.
</summary>
<param name="o">The element to be removed.</param>
<returns><see langword="true" /> if the set contained the specified element, <see langword="false" /> otherwise.</returns>
</member>
<member name="M:Iesi.Collections.DictionarySet.RemoveAll(System.Collections.ICollection)">
<summary>
Remove all the specified elements from this set, if they exist in this set.
</summary>
<param name="c">A collection of elements to remove.</param>
<returns><see langword="true" /> if the set was modified as a result of this operation.</returns>
</member>
<member name="M:Iesi.Collections.DictionarySet.RetainAll(System.Collections.ICollection)">
<summary>
Retains only the elements in this set that are contained in the specified collection.
</summary>
<param name="c">Collection that defines the set of elements to be retained.</param>
<returns><see langword="true" /> if this set changed as a result of this operation.</returns>
</member>
<member name="M:Iesi.Collections.DictionarySet.CopyTo(System.Array,System.Int32)">
<summary>
Copies the elements in the <c>Set</c> to an array. The type of array needs
to be compatible with the objects in the <c>Set</c>, obviously.
</summary>
<param name="array">An array that will be the target of the copy operation.</param>
<param name="index">The zero-based index where copying will start.</param>
</member>
<member name="M:Iesi.Collections.DictionarySet.GetEnumerator">
<summary>
Gets an enumerator for the elements in the <c>Set</c>.
</summary>
<returns>An <c>IEnumerator</c> over the elements in the <c>Set</c>.</returns>
</member>
<member name="P:Iesi.Collections.DictionarySet.Placeholder">
<summary>
The placeholder object used as the value for the <c>IDictionary</c> instance.
</summary>
<remarks>
There is a single instance of this object globally, used for all <c>Sets</c>.
</remarks>
</member>
<member name="P:Iesi.Collections.DictionarySet.IsEmpty">
<summary>
Returns <see langword="true" /> if this set contains no elements.
</summary>
</member>
<member name="P:Iesi.Collections.DictionarySet.Count">
<summary>
The number of elements contained in this collection.
</summary>
</member>
<member name="P:Iesi.Collections.DictionarySet.IsSynchronized">
<summary>
None of the objects based on <c>DictionarySet</c> are synchronized. Use the
<c>SyncRoot</c> property instead.
</summary>
</member>
<member name="P:Iesi.Collections.DictionarySet.SyncRoot">
<summary>
Returns an object that can be used to synchronize the <c>Set</c> between threads.
</summary>
</member>
<member name="T:Iesi.Collections.HashedSet">
<summary>
Implements a <c>Set</c> based on a hash table. This will give the best lookup, add, and remove
performance for very large data-sets, but iteration will occur in no particular order.
</summary>
</member>
<member name="M:Iesi.Collections.HashedSet.#ctor">
<summary>
Creates a new set instance based on a hash table.
</summary>
</member>
<member name="M:Iesi.Collections.HashedSet.#ctor(System.Collections.ICollection)">
<summary>
Creates a new set instance based on a hash table and
initializes it based on a collection of elements.
</summary>
<param name="initialValues">A collection of elements that defines the initial set contents.</param>
</member>
<member name="T:Iesi.Collections.HybridSet">
<summary>
Implements a <c>Set</c> that automatically changes from a list to a hash table
when the size reaches a certain threshold. This is good if you are unsure about
whether you data-set will be tiny or huge. Because this uses a dual implementation,
iteration order is not guaranteed!
</summary>
</member>
<member name="M:Iesi.Collections.HybridSet.#ctor">
<summary>
Creates a new set instance based on either a list or a hash table, depending on which
will be more efficient based on the data-set size.
</summary>
</member>
<member name="M:Iesi.Collections.HybridSet.#ctor(System.Collections.ICollection)">
<summary>
Creates a new set instance based on either a list or a hash table, depending on which
will be more efficient based on the data-set size, and
initializes it based on a collection of elements.
</summary>
<param name="initialValues">A collection of elements that defines the initial set contents.</param>
</member>
<member name="T:Iesi.Collections.ImmutableSet">
<summary>
<p>Implements an immutable (read-only) <c>Set</c> wrapper.</p>
<p>Although this is advertised as immutable, it really isn't. Anyone with access to the
<c>basisSet</c> can still change the data-set. So <c>GetHashCode()</c> is not implemented
for this <c>Set</c>, as is the case for all <c>Set</c> implementations in this library.
This design decision was based on the efficiency of not having to <c>Clone()</c> the
<c>basisSet</c> every time you wrap a mutable <c>Set</c>.</p>
</summary>
</member>
<member name="M:Iesi.Collections.ImmutableSet.#ctor(Iesi.Collections.ISet)">
<summary>
Constructs an immutable (read-only) <c>Set</c> wrapper.
</summary>
<param name="basisSet">The <c>Set</c> that is wrapped.</param>
</member>
<member name="M:Iesi.Collections.ImmutableSet.Add(System.Object)">
<summary>
Adds the specified element to this set if it is not already present.
</summary>
<param name="o">The object to add to the set.</param>
<returns><see langword="true" /> is the object was added, <see langword="false" /> if it was already present.</returns>
</member>
<member name="M:Iesi.Collections.ImmutableSet.AddAll(System.Collections.ICollection)">
<summary>
Adds all the elements in the specified collection to the set if they are not already present.
</summary>
<param name="c">A collection of objects to add to the set.</param>
<returns><see langword="true" /> is the set changed as a result of this operation, <see langword="false" /> if not.</returns>
</member>
<member name="M:Iesi.Collections.ImmutableSet.Clear">
<summary>
Removes all objects from the set.
</summary>
</member>
<member name="M:Iesi.Collections.ImmutableSet.Contains(System.Object)">
<summary>
Returns <see langword="true" /> if this set contains the specified element.
</summary>
<param name="o">The element to look for.</param>
<returns><see langword="true" /> if this set contains the specified element, <see langword="false" /> otherwise.</returns>
</member>
<member name="M:Iesi.Collections.ImmutableSet.ContainsAll(System.Collections.ICollection)">
<summary>
Returns <see langword="true" /> if the set contains all the elements in the specified collection.
</summary>
<param name="c">A collection of objects.</param>
<returns><see langword="true" /> if the set contains all the elements in the specified collection, <see langword="false" /> otherwise.</returns>
</member>
<member name="M:Iesi.Collections.ImmutableSet.Remove(System.Object)">
<summary>
Removes the specified element from the set.
</summary>
<param name="o">The element to be removed.</param>
<returns><see langword="true" /> if the set contained the specified element, <see langword="false" /> otherwise.</returns>
</member>
<member name="M:Iesi.Collections.ImmutableSet.RemoveAll(System.Collections.ICollection)">
<summary>
Remove all the specified elements from this set, if they exist in this set.
</summary>
<param name="c">A collection of elements to remove.</param>
<returns><see langword="true" /> if the set was modified as a result of this operation.</returns>
</member>
<member name="M:Iesi.Collections.ImmutableSet.RetainAll(System.Collections.ICollection)">
<summary>
Retains only the elements in this set that are contained in the specified collection.
</summary>
<param name="c">Collection that defines the set of elements to be retained.</param>
<returns><see langword="true" /> if this set changed as a result of this operation.</returns>
</member>
<member name="M:Iesi.Collections.ImmutableSet.CopyTo(System.Array,System.Int32)">
<summary>
Copies the elements in the <c>Set</c> to an array. The type of array needs
to be compatible with the objects in the <c>Set</c>, obviously.
</summary>
<param name="array">An array that will be the target of the copy operation.</param>
<param name="index">The zero-based index where copying will start.</param>
</member>
<member name="M:Iesi.Collections.ImmutableSet.GetEnumerator">
<summary>
Gets an enumerator for the elements in the <c>Set</c>.
</summary>
<returns>An <c>IEnumerator</c> over the elements in the <c>Set</c>.</returns>
</member>
<member name="M:Iesi.Collections.ImmutableSet.Clone">
<summary>
Returns a clone of the <c>Set</c> instance.
</summary>
<returns>A clone of this object.</returns>
</member>
<member name="M:Iesi.Collections.ImmutableSet.Union(Iesi.Collections.ISet)">
<summary>
Performs a "union" of the two sets, where all the elements
in both sets are present. That is, the element is included if it is in either <c>a</c> or <c>b</c>.
Neither this set nor the input set are modified during the operation. The return value
is a <c>Clone()</c> of this set with the extra elements added in.
</summary>
<param name="a">A collection of elements.</param>
<returns>A new <c>Set</c> containing the union of this <c>Set</c> with the specified collection.
Neither of the input objects is modified by the union.</returns>
</member>
<member name="M:Iesi.Collections.ImmutableSet.Intersect(Iesi.Collections.ISet)">
<summary>
Performs an "intersection" of the two sets, where only the elements
that are present in both sets remain. That is, the element is included if it exists in
both sets. The <c>Intersect()</c> operation does not modify the input sets. It returns
a <c>Clone()</c> of this set with the appropriate elements removed.
</summary>
<param name="a">A set of elements.</param>
<returns>The intersection of this set with <c>a</c>.</returns>
</member>
<member name="M:Iesi.Collections.ImmutableSet.Minus(Iesi.Collections.ISet)">
<summary>
Performs a "minus" of set <c>b</c> from set <c>a</c>. This returns a set of all
the elements in set <c>a</c>, removing the elements that are also in set <c>b</c>.
The original sets are not modified during this operation. The result set is a <c>Clone()</c>
of this <c>Set</c> containing the elements from the operation.
</summary>
<param name="a">A set of elements.</param>
<returns>A set containing the elements from this set with the elements in <c>a</c> removed.</returns>
</member>
<member name="M:Iesi.Collections.ImmutableSet.ExclusiveOr(Iesi.Collections.ISet)">
<summary>
Performs an "exclusive-or" of the two sets, keeping only the elements that
are in one of the sets, but not in both. The original sets are not modified
during this operation. The result set is a <c>Clone()</c> of this set containing
the elements from the exclusive-or operation.
</summary>
<param name="a">A set of elements.</param>
<returns>A set containing the result of <c>a ^ b</c>.</returns>
</member>
<member name="P:Iesi.Collections.ImmutableSet.IsEmpty">
<summary>
Returns <see langword="true" /> if this set contains no elements.
</summary>
</member>
<member name="P:Iesi.Collections.ImmutableSet.Count">
<summary>
The number of elements contained in this collection.
</summary>
</member>
<member name="P:Iesi.Collections.ImmutableSet.IsSynchronized">
<summary>
Returns an object that can be used to synchronize use of the <c>Set</c> across threads.
</summary>
</member>
<member name="P:Iesi.Collections.ImmutableSet.SyncRoot">
<summary>
Returns an object that can be used to synchronize the <c>Set</c> between threads.
</summary>
</member>
<member name="T:Iesi.Collections.ListSet">
<summary>
Implements a <c>Set</c> based on a list. Performance is much better for very small lists
than either <c>HashedSet</c> or <c>SortedSet</c>. However, performance degrades rapidly as
the data-set gets bigger. Use a <c>HybridSet</c> instead if you are not sure your data-set
will always remain very small. Iteration produces elements in the order they were added.
However, element order is not guaranteed to be maintained by the various <c>Set</c>
mathematical operators.
</summary>
</member>
<member name="M:Iesi.Collections.ListSet.#ctor">
<summary>
Creates a new set instance based on a list.
</summary>
</member>
<member name="M:Iesi.Collections.ListSet.#ctor(System.Collections.ICollection)">
<summary>
Creates a new set instance based on a list and
initializes it based on a collection of elements.
</summary>
<param name="initialValues">A collection of elements that defines the initial set contents.</param>
</member>
<member name="T:Iesi.Collections.SortedSet">
<summary>
Implements a set based on a sorted tree. This gives good performance for operations on very
large data-sets, though not as good - asymptotically - as a <see cref="T:Iesi.Collections.HashedSet"/>.
However, iteration occurs in order. Elements that you put into this type of collection must
implement <see cref="T:System.IComparable"/>, and they must actually be comparable. You can't mix
<see cref="T:System.String"/> and <see cref="T:System.Int32"/> values, for example.
</summary>
</member>
<member name="M:Iesi.Collections.SortedSet.#ctor">
<summary>
Creates a new set instance based on a sorted tree.
</summary>
</member>
<member name="M:Iesi.Collections.SortedSet.#ctor(System.Collections.IComparer)">
<summary>
Creates a new set instance based on a sorted tree.
</summary>
<param name="comparer">The <see cref="T:System.Collections.IComparer"/> to use for sorting.</param>
</member>
<member name="M:Iesi.Collections.SortedSet.#ctor(System.Collections.ICollection)">
<summary>
Creates a new set instance based on a sorted tree and
initializes it based on a collection of elements.
</summary>
<param name="initialValues">A collection of elements that defines the initial set contents.</param>
</member>
<member name="M:Iesi.Collections.SortedSet.#ctor(System.Collections.ICollection,System.Collections.IComparer)">
<summary>
Creates a new set instance based on a sorted tree and
initializes it based on a collection of elements.
</summary>
<param name="initialValues">A collection of elements that defines the initial set contents.</param>
<param name="comparer">The <see cref="T:System.Collections.IComparer"/> to use for sorting.</param>
</member>
<member name="T:Iesi.Collections.SynchronizedSet">
<summary>
Implements a thread-safe <see cref="T:Iesi.Collections.ISet"/> wrapper.
</summary>
<remarks>
The implementation is extremely conservative, serializing critical sections
to prevent possible deadlocks, and locking on everything. The one exception
is for enumeration, which is inherently not thread-safe. For this, you have
to <see langword="lock"/> the <see cref="P:Iesi.Collections.SynchronizedSet.SyncRoot"/> object for the duration
of the enumeration.
</remarks>
</member>
<member name="M:Iesi.Collections.SynchronizedSet.#ctor(Iesi.Collections.ISet)">
<summary>
Constructs a thread-safe <see cref="T:Iesi.Collections.ISet"/> wrapper.
</summary>
<param name="basisSet">The <see cref="T:Iesi.Collections.ISet"/> object that this object will wrap.</param>
</member>
<member name="M:Iesi.Collections.SynchronizedSet.Add(System.Object)">
<summary>
Adds the specified element to this set if it is not already present.
</summary>
<param name="o">The object to add to the set.</param>
<returns><see langword="true" /> is the object was added, <see langword="false" /> if it was already present.</returns>
</member>
<member name="M:Iesi.Collections.SynchronizedSet.AddAll(System.Collections.ICollection)">
<summary>
Adds all the elements in the specified collection to the set if they are not already present.
</summary>
<param name="c">A collection of objects to add to the set.</param>
<returns><see langword="true" /> is the set changed as a result of this operation, <see langword="false" /> if not.</returns>
</member>
<member name="M:Iesi.Collections.SynchronizedSet.Clear">
<summary>
Removes all objects from the set.
</summary>
</member>
<member name="M:Iesi.Collections.SynchronizedSet.Contains(System.Object)">
<summary>
Returns <see langword="true" /> if this set contains the specified element.
</summary>
<param name="o">The element to look for.</param>
<returns><see langword="true" /> if this set contains the specified element, <see langword="false" /> otherwise.</returns>
</member>
<member name="M:Iesi.Collections.SynchronizedSet.ContainsAll(System.Collections.ICollection)">
<summary>
Returns <see langword="true" /> if the set contains all the elements in the specified collection.
</summary>
<param name="c">A collection of objects.</param>
<returns><see langword="true" /> if the set contains all the elements in the specified collection, <see langword="false" /> otherwise.</returns>
</member>
<member name="M:Iesi.Collections.SynchronizedSet.Remove(System.Object)">
<summary>
Removes the specified element from the set.
</summary>
<param name="o">The element to be removed.</param>
<returns><see langword="true" /> if the set contained the specified element, <see langword="false" /> otherwise.</returns>
</member>
<member name="M:Iesi.Collections.SynchronizedSet.RemoveAll(System.Collections.ICollection)">
<summary>
Remove all the specified elements from this set, if they exist in this set.
</summary>
<param name="c">A collection of elements to remove.</param>
<returns><see langword="true" /> if the set was modified as a result of this operation.</returns>
</member>
<member name="M:Iesi.Collections.SynchronizedSet.RetainAll(System.Collections.ICollection)">
<summary>
Retains only the elements in this set that are contained in the specified collection.
</summary>
<param name="c">Collection that defines the set of elements to be retained.</param>
<returns><see langword="true" /> if this set changed as a result of this operation.</returns>
</member>
<member name="M:Iesi.Collections.SynchronizedSet.CopyTo(System.Array,System.Int32)">
<summary>
Copies the elements in the set to an array. The type of array needs
to be compatible with the objects in the set, obviously.
</summary>
<param name="array">An array that will be the target of the copy operation.</param>
<param name="index">The zero-based index where copying will start.</param>
</member>
<member name="M:Iesi.Collections.SynchronizedSet.GetEnumerator">
<summary>
Returns an enumerator that iterates through the set.
</summary>
<returns>
An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the set.
</returns>
<remarks>
Enumeration is, by definition, not thread-safe. Use a <see langword="lock"/> on the <see cref="P:Iesi.Collections.SynchronizedSet.SyncRoot"/>
to synchronize the entire enumeration process.
</remarks>
</member>
<member name="M:Iesi.Collections.SynchronizedSet.Clone">
<summary>
Returns a clone of this instance.
</summary>
<returns>A clone of this object.</returns>
</member>
<member name="P:Iesi.Collections.SynchronizedSet.IsEmpty">
<summary>
Returns <see langword="true" /> if this set contains no elements.
</summary>
</member>
<member name="P:Iesi.Collections.SynchronizedSet.Count">
<summary>
The number of elements contained in this collection.
</summary>
</member>
<member name="P:Iesi.Collections.SynchronizedSet.IsSynchronized">
<summary>
Returns <see langword="true"/>, indicating that this object is thread-safe. The exception to this
is enumeration, which is inherently not thread-safe. Use the <see cref="P:Iesi.Collections.SynchronizedSet.SyncRoot"/> object to
lock this object for the entire duration of the enumeration.
</summary>
</member>
<member name="P:Iesi.Collections.SynchronizedSet.SyncRoot">
<summary>
Returns an object that can be used to synchronize the set between threads.
</summary>
</member>
</members>
</doc>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,687 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Castle.DynamicProxy</name>
</assembly>
<members>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.AddressOfReferenceExpression">
<summary>
Summary description for ReferenceExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Expression">
<summary>
Summary description for Expression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.IEmitter">
<summary>
Summary description for IEmitter.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ArgumentReference">
<summary>
Summary description for ArgumentReference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.TypeReference">
<summary>
Summary description for TypeReference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Reference">
<summary>
Summary description for Reference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.AssignArrayStatement">
<summary>
Summary description for AssignArrayStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Statement">
<summary>
Summary description for Statement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.AssignStatement">
<summary>
Summary description for AssignStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.BinaryExpression">
<summary>
Summary description for BinaryExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ConditionExpression">
<summary>
Summary description for ConditionExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ConstructorInvocationExpression">
<summary>
Summary description for ConstructorInvocationExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ConvertExpression">
<summary>
Summary description for ConvertExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ExpressionStatement">
<summary>
Summary description for ExpressionStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.FieldReference">
<summary>
Summary description for FieldReference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.FixedReference">
<summary>
Summary description for FixedReference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.GotoStatement">
<summary>
Summary description for GotoStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.IndirectReference">
<summary>
Wraps a reference that is passed ByRef and provides indirect load/store facilities.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.LabelReference">
<summary>
Summary description for LabelReference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.LoadRefArrayElementExpression">
<summary>
Summary description for LoadRefArrayElementExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.LocalReference">
<summary>
Summary description for LocalReference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.LockBlockExpression">
<summary>
Summary description for LockBlockExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.MarkBranchStatement">
<summary>
Summary description for MarkBranchStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.MethodInvocationExpression">
<summary>
Summary description for MethodInvocationExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.MethodPointerExpression">
<summary>
Summary description for MethodPointerExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.MethodTokenExpression">
<summary>
Summary description for MethodTokenExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.NewArrayExpression">
<summary>
Summary description for NewArrayExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.NewInstanceExpression">
<summary>
Summary description for NewInstanceExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.NopStatement">
<summary>
Summary description for NopStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.NullExpression">
<summary>
Summary description for NullExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.PopValueFromStackStatement">
<summary>
Summary description for PopValueFromStackStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ReferenceExpression">
<summary>
Summary description for ReferenceExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ReferencesToObjectArrayExpression">
<summary>
Summary description for ReferencesToObjectArrayExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ReturnReferenceExpression">
<summary>
Summary description for ReturnReferenceExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ReturnStatement">
<summary>
Summary description for ReturnStatement.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.SelfReference">
<summary>
Summary description for SelfReference.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.TypeTokenExpression">
<summary>
Summary description for TypeTokenExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.VirtualMethodInvocationExpression">
<summary>
Summary description for VirtualMethodInvocationExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.Utils.ArgumentsUtil">
<summary>
Summary description for ArgumentsUtil.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.Utils.LdcOpCodesDictionary">
<summary>
Provides appropriate Ldc.X opcode for the type of primitive value to be loaded.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.Utils.LdindOpCodesDictionary">
<summary>
Provides appropriate Ldind.X opcode for
the type of primitive value to be loaded indirectly.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.Utils.StindOpCodesDictionary">
<summary>
Provides appropriate Stind.X opcode
for the type of primitive value to be stored indirectly.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.Utils.OpCodeUtil">
<summary>
Summary description for OpCodeUtil.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeBuilder.Utils.OpCodeUtil.EmitLoadOpCodeForConstantValue(System.Reflection.Emit.ILGenerator,System.Object)">
<summary>
Emits a load opcode of the appropriate kind for a constant string or
primitive value.
</summary>
<param name="gen"></param>
<param name="value"></param>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeBuilder.Utils.OpCodeUtil.EmitLoadOpCodeForDefaultValueOfType(System.Reflection.Emit.ILGenerator,System.Type)">
<summary>
Emits a load opcode of the appropriate kind for the constant default value of a
type, such as 0 for value types and null for reference types.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeBuilder.Utils.OpCodeUtil.EmitLoadIndirectOpCodeForType(System.Reflection.Emit.ILGenerator,System.Type)">
<summary>
Emits a load indirect opcode of the appropriate type for a value or object reference.
Pops a pointer off the evaluation stack, dereferences it and loads
a value of the specified type.
</summary>
<param name="gen"></param>
<param name="type"></param>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeBuilder.Utils.OpCodeUtil.EmitStoreIndirectOpCodeForType(System.Reflection.Emit.ILGenerator,System.Type)">
<summary>
Emits a store indirectopcode of the appropriate type for a value or object reference.
Pops a value of the specified type and a pointer off the evaluation stack, and
stores the value.
</summary>
<param name="gen"></param>
<param name="type"></param>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.AbstractCodeBuilder">
<summary>
Summary description for AbstractCodeBuilder.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.AbstractEasyType">
<summary>
Summary description for AbstractEasyType.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.ConstructorCodeBuilder">
<summary>
Summary description for ConstructorCodeBuilder.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.ConstructorCollection">
<summary>
Summary description for ConstructorCollection.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyCallable">
<summary>
Summary description for EasyCallable.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyNested">
<summary>
Summary description for EasyNested.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyConstructor">
<summary>
Summary description for EasyConstructor.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.IEasyMember">
<summary>
Summary description for IEasyBuilder.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyDefaultConstructor">
<summary>
Summary description for EasyDefaultConstructor.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyEvent">
<summary>
Summary description for EasyEvent.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyMethod">
<summary>
Summary description for EasyMethod.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyProperty">
<summary>
Summary description for EasyProperty.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyRuntimeConstructor">
<summary>
Summary description for EasyRuntimeConstructor.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyRuntimeMethod">
<summary>
Summary description for EasyRuntimeMethod.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyType">
<summary>
Summary description for EasyType.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.EventsCollection">
<summary>
Summary description for EventsCollection.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.MethodCodeBuilder">
<summary>
Summary description for MethodCodeBuilder.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.MethodCollection">
<summary>
Summary description for MethodCollection.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.NestedTypeCollection">
<summary>
Summary description for NestedTypeCollection.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeBuilder.PropertiesCollection">
<summary>
Summary description for PropertiesCollection.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeGenerators.Set">
<summary>
Summary description for Set.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator">
<summary>
Summary description for BaseCodeGenerator.
</summary>
</member>
<member name="F:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator._cachedFields">
<summary>
Holds instance fields which points to delegates instantiated
</summary>
</member>
<member name="F:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator._method2Delegate">
<summary>
MethodInfo => Callable delegate
</summary>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GenerateConstructor">
<summary>
Generates one public constructor receiving
the <see cref="T:Castle.DynamicProxy.IInterceptor"/> instance and instantiating a hashtable
</summary>
<remarks>
Should be overrided to provided specific semantics, if necessary
</remarks>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GenerateConstructorCode(Castle.DynamicProxy.Builder.CodeBuilder.ConstructorCodeBuilder,Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Reference,Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Reference,Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.Reference)">
<summary>
Common initializatio code for the default constructor
</summary>
<param name="codebuilder"></param>
<param name="interceptorArg"></param>
<param name="targetArgument"></param>
<param name="mixinArray"></param>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GenerateInterfaceImplementation(System.Type[])">
<summary>
</summary>
<param name="interfaces"></param>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GenerateTypeImplementation(System.Type,System.Boolean)">
<summary>
Iterates over the interfaces and generate implementation
for each method in it.
</summary>
<param name="type">Type class</param>
<param name="ignoreInterfaces">if true, we inspect the
type for implemented interfaces</param>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.NormalizeNamespaceName(System.String)">
<summary>
Naive implementation, but valid for long namespaces
Works by using only the last piece of the namespace
</summary>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GetTypeName(System.Type)">
<summary>
Gets the name of a type, taking into consideration nested types.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.CreateProperty(System.Reflection.PropertyInfo)">
<summary>
Generate property implementation
</summary>
<param name="property"></param>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.GenerateMethodImplementation(System.Reflection.MethodInfo,Castle.DynamicProxy.Builder.CodeBuilder.EasyProperty[])">
<summary>
Generates implementation for each method.
</summary>
<param name="method"></param>
<param name="properties"></param>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.WriteInterceptorInvocationMethod(System.Reflection.MethodInfo,Castle.DynamicProxy.Builder.CodeBuilder.EasyMethod)">
<summary>
Writes the method implementation. This
method generates the IL code for property get/set method and
ordinary methods.
</summary>
<param name="method">The method to implement.</param>
<param name="builder"><see cref="T:Castle.DynamicProxy.Builder.CodeBuilder.EasyMethod"/> being constructed.</param>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeGenerators.CallableField">
<summary>
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeGenerators.ClassProxyGenerator">
<summary>
Summary description for ClassProxyGenerator.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.ClassProxyGenerator.GenerateConstructor(System.Reflection.ConstructorInfo)">
<summary>
Generates one public constructor receiving
the <see cref="T:Castle.DynamicProxy.IInterceptor"/> instance and instantiating a hashtable
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeGenerators.InterfaceProxyGenerator">
<summary>
Summary description for InterfaceProxyGenerator.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.InterfaceProxyGenerator.GetCorrectMethod(System.Reflection.MethodInfo)">
<summary>
From an interface method (abstract) look up
for a matching method on the target
</summary>
<param name="method"></param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.Builder.CodeGenerators.InterfaceProxyGenerator.GenerateConstructor">
<summary>
Generates one public constructor receiving
the <see cref="T:Castle.DynamicProxy.IInterceptor"/> instance and instantiating a HybridCollection
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeGenerators.ModuleScope">
<summary>
Summary description for ModuleScope.
</summary>
</member>
<member name="F:Castle.DynamicProxy.Builder.CodeGenerators.ModuleScope._moduleBuilderWithStrongName">
<summary>
Avoid leaks caused by non disposal of generated types.
</summary>
</member>
<member name="F:Castle.DynamicProxy.Builder.CodeGenerators.ModuleScope._typeCache">
<summary>
Keep track of generated types
</summary>
</member>
<member name="F:Castle.DynamicProxy.Builder.CodeGenerators.ModuleScope._lockobj">
<summary>
Used to lock the module builder creation
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.CodeGenerators.ProxyGenerationException">
<summary>
Summary description for ProxyGenerationException.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.DefaultProxyBuilder">
<summary>
Summary description for DefaultProxyBuilder.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Builder.IProxyBuilder">
<summary>
Summary description for IProxyBuilder.
</summary>
</member>
<member name="T:Castle.DynamicProxy.GeneratorContext">
<summary>
Summary description for GeneratorContext.
</summary>
</member>
<member name="M:Castle.DynamicProxy.GeneratorContext.ShouldCreateNewSlot(System.Reflection.MethodInfo)">
<summary>
Checks if the method has the same signature as a method that was marked as
one that should generate a new vtable slot.
</summary>
</member>
<member name="P:Castle.DynamicProxy.GeneratorContext.ProxyObjectReference">
<summary>
The implementor of IObjectReference responsible for
the deserialization and reconstruction of the proxy object
</summary>
</member>
<member name="T:Castle.DynamicProxy.IInvocation">
<summary>
Proceed with, manipulate or find more information about the call that
is being intercepted
</summary>
</member>
<member name="M:Castle.DynamicProxy.IInvocation.Proceed(System.Object[])">
<summary>
Proceed with the call that was intercepted.
</summary>
<param name="args">The arguments that will be passed onto the method.</param>
<returns>The argument returned from the method.</returns>
</member>
<member name="P:Castle.DynamicProxy.IInvocation.Proxy">
<summary>
Get the dynamic proxy that intercepted this call.
</summary>
</member>
<member name="P:Castle.DynamicProxy.IInvocation.InvocationTarget">
<summary>
Get or set target that will be invoked when Process() is called.
</summary>
<remarks>
Changing InvocationTarget only effects this call. Any call made after
this will invoke the original target of the proxy.
</remarks>
</member>
<member name="P:Castle.DynamicProxy.IInvocation.Method">
<summary>
Get the method that is being invoked.
</summary>
</member>
<member name="P:Castle.DynamicProxy.IInvocation.MethodInvocationTarget">
<summary>
Get the method on the target object that is being invoked.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Invocation.SameClassInvocation">
<summary>
</summary>
</member>
<member name="T:Castle.DynamicProxy.Serialization.ProxyObjectReference">
<summary>
Handles the deserialization of proxies.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Serialization.ProxyObjectReference.ResetScope">
<summary>
Usefull for test cases
</summary>
</member>
<member name="T:Castle.DynamicProxy.AssertUtil">
<summary>
Summary description for AssertUtil.
</summary>
</member>
<member name="T:Castle.DynamicProxy.ICallable">
<summary>
</summary>
</member>
<member name="M:Castle.DynamicProxy.ICallable.Call(System.Object[])">
<summary>
</summary>
<param name="args"></param>
<returns></returns>
</member>
<member name="P:Castle.DynamicProxy.ICallable.Target">
<summary>
</summary>
</member>
<member name="T:Castle.DynamicProxy.IInterceptor">
<summary>
</summary>
</member>
<member name="T:Castle.DynamicProxy.ProxyGenerator">
<summary>
Generates a Java style proxy. This overrides the .Net proxy requirements
that forces one to extend MarshalByRefObject or (for a different purpose)
ContextBoundObject to have a Proxiable class.
</summary>
<remarks>
The <see cref="T:Castle.DynamicProxy.ProxyGenerator"/> should be used to generate a class
implementing the specified interfaces. The dynamic implementation will
only calls the internal <see cref="T:Castle.DynamicProxy.IInterceptor"/> instance.
</remarks>
<remarks>
Please note that this proxy implementation currently doesn't not supports ref and out arguments
in methods.
Also note that only virtual methods can be proxied in a class.
</remarks>
<example>
<code>
MyInvocationHandler interceptor = ...
ProxyGenerator generator = new ProxyGenerator();
IInterfaceExposed proxy =
generator.CreateProxy( new Type[] { typeof(IInterfaceExposed) }, interceptor );
</code>
</example>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.CreateProxy(System.Type,Castle.DynamicProxy.IInterceptor,System.Object)">
<summary>
Generates a proxy implementing all the specified interfaces and
redirecting method invocations to the specifed interceptor.
</summary>
<param name="theInterface">Interface to be implemented</param>
<param name="interceptor">instance of <see cref="T:Castle.DynamicProxy.IInterceptor"/></param>
<param name="target">The proxy target.</param>
<returns>Proxy instance</returns>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.CreateProxy(System.Type[],Castle.DynamicProxy.IInterceptor,System.Object)">
<summary>
Generates a proxy implementing all the specified interfaces and
redirecting method invocations to the specifed interceptor.
</summary>
<param name="interfaces">Array of interfaces to be implemented</param>
<param name="interceptor">instance of <see cref="T:Castle.DynamicProxy.IInterceptor"/></param>
<param name="target">The proxy target.</param>
<returns>Proxy instance</returns>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.CreateCustomProxy(System.Type,Castle.DynamicProxy.IInterceptor,System.Object,Castle.DynamicProxy.GeneratorContext)">
<summary>
</summary>
<param name="theInterface"></param>
<param name="interceptor"></param>
<param name="context"></param>
<param name="target">The proxy target.</param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.CreateCustomProxy(System.Type[],Castle.DynamicProxy.IInterceptor,System.Object,Castle.DynamicProxy.GeneratorContext)">
<summary>
</summary>
<param name="interfaces"></param>
<param name="interceptor"></param>
<param name="context"></param>
<param name="target">The proxy target.</param>
<returns></returns>
</member>
<member name="T:Castle.DynamicProxy.StandardInterceptor">
<summary>
Summary description for StandardInterceptor.
</summary>
</member>
<member name="M:Castle.DynamicProxy.StandardInterceptor.Intercept(Castle.DynamicProxy.IInvocation,System.Object[])">
<summary>
</summary>
<param name="invocation"></param>
<param name="args"></param>
<returns></returns>
</member>
</members>
</doc>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,688 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Castle.DynamicProxy2</name>
</assembly>
<members>
<member name="T:Castle.DynamicProxy.Generators.Emitters.SimpleAST.IndirectReference">
<summary>
Wraps a reference that is passed
ByRef and provides indirect load/store support.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Generators.Emitters.SimpleAST.NewArrayExpression">
<summary>
Summary description for NewArrayExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Generators.Emitters.SimpleAST.ReferencesToObjectArrayExpression">
<summary>
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.Emitters.CustomAttributeUtil.InitializeConstructorArgs(System.Type,System.Attribute,System.Object[],System.Reflection.ParameterInfo[])">
<summary>
Here we try to match a constructor argument to its value.
Since we can't get the values from the assembly, we use some heuristics to get it.
a/ we first try to match all the properties on the attributes by name (case insensitive) to the argument
b/ if we fail we try to match them by property type, with some smarts about convertions (i,e: can use Guid for string).
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.Emitters.CustomAttributeUtil.ReplaceIfBetterMatch(System.Reflection.ParameterInfo,System.Reflection.PropertyInfo,System.Reflection.PropertyInfo)">
<summary>
We have the following rules here.
Try to find a matching type, failing that, if the parameter is string, get the first property (under the assumption that
we can convert it.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.Emitters.CustomAttributeUtil.ConvertValue(System.Object,System.Type)">
<summary>
Attributes can only accept simple types, so we return null for null,
if the value is passed as string we call to string (should help with converting),
otherwise, we use the value as is (enums, integer, etc).
</summary>
</member>
<member name="T:Castle.DynamicProxy.Generators.Emitters.LdcOpCodesDictionary">
<summary>
Provides appropriate Ldc.X opcode for the type of primitive value to be loaded.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Generators.Emitters.LdindOpCodesDictionary">
<summary>
Provides appropriate Ldind.X opcode for
the type of primitive value to be loaded indirectly.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.Emitters.MethodEmitter.CopyParametersAndReturnTypeFrom(System.Reflection.MethodInfo,Castle.DynamicProxy.Generators.Emitters.AbstractTypeEmitter)">
<summary>
Inspect the base method for generic definitions
and set the return type and the parameters
accordingly
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.Emitters.OpCodeUtil.EmitLoadOpCodeForConstantValue(System.Reflection.Emit.ILGenerator,System.Object)">
<summary>
Emits a load opcode of the appropriate kind for a constant string or
primitive value.
</summary>
<param name="gen"></param>
<param name="value"></param>
</member>
<member name="M:Castle.DynamicProxy.Generators.Emitters.OpCodeUtil.EmitLoadOpCodeForDefaultValueOfType(System.Reflection.Emit.ILGenerator,System.Type)">
<summary>
Emits a load opcode of the appropriate kind for the constant default value of a
type, such as 0 for value types and null for reference types.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.Emitters.OpCodeUtil.EmitLoadIndirectOpCodeForType(System.Reflection.Emit.ILGenerator,System.Type)">
<summary>
Emits a load indirect opcode of the appropriate type for a value or object reference.
Pops a pointer off the evaluation stack, dereferences it and loads
a value of the specified type.
</summary>
<param name="gen"></param>
<param name="type"></param>
</member>
<member name="M:Castle.DynamicProxy.Generators.Emitters.OpCodeUtil.EmitStoreIndirectOpCodeForType(System.Reflection.Emit.ILGenerator,System.Type)">
<summary>
Emits a store indirectopcode of the appropriate type for a value or object reference.
Pops a value of the specified type and a pointer off the evaluation stack, and
stores the value.
</summary>
<param name="gen"></param>
<param name="type"></param>
</member>
<member name="T:Castle.DynamicProxy.Generators.Emitters.PropertiesCollection">
<summary>
Summary description for PropertiesCollection.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Generators.Emitters.StindOpCodesDictionary">
<summary>
Provides appropriate Stind.X opcode
for the type of primitive value to be stored indirectly.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Generators.BaseProxyGenerator">
<summary>
Base class that exposes the common functionalities
to proxy generation.
</summary>
<remarks>
TODO:
- Use the interceptor selector if provided
- Add tests and fixes for 'leaking this' problem
</remarks>
</member>
<member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.GetProxyTargetReference">
<summary>
Used by dinamically implement <see cref="T:Castle.Core.Interceptor.IProxyTargetAccessor"/>
</summary>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.GenerateParameterlessConstructor(Castle.DynamicProxy.Generators.Emitters.ClassEmitter,System.Type,Castle.DynamicProxy.Generators.Emitters.SimpleAST.FieldReference)">
<summary>
Generates a parameters constructor that initializes the proxy
state with <see cref="T:Castle.Core.Interceptor.StandardInterceptor"/> just to make it non-null.
<para>
This constructor is important to allow proxies to be XML serializable
</para>
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.BuildInvocationNestedType(Castle.DynamicProxy.Generators.Emitters.ClassEmitter,System.Type,System.Type,System.Reflection.MethodInfo,System.Reflection.MethodInfo,Castle.DynamicProxy.Generators.ConstructorVersion)">
<summary>
If callbackMethod is null the InvokeOnTarget implementation
is just the code to throw an exception
</summary>
<param name="emitter"></param>
<param name="targetType"></param>
<param name="targetForInvocation"></param>
<param name="methodInfo"></param>
<param name="callbackMethod"></param>
<param name="version"></param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.BuildInvocationNestedType(Castle.DynamicProxy.Generators.Emitters.ClassEmitter,System.Type,System.Type,System.Reflection.MethodInfo,System.Reflection.MethodInfo,Castle.DynamicProxy.Generators.ConstructorVersion,System.Boolean)">
<summary>
If callbackMethod is null the InvokeOnTarget implementation
is just the code to throw an exception
</summary>
<param name="emitter"></param>
<param name="targetType"></param>
<param name="targetForInvocation"></param>
<param name="methodInfo"></param>
<param name="callbackMethod"></param>
<param name="version"></param>
<param name="allowChangeTarget">If true the invocation will implement the IChangeProxyTarget interface</param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.CreateIInvocationConstructor(System.Type,Castle.DynamicProxy.Generators.Emitters.NestedClassEmitter,Castle.DynamicProxy.Generators.Emitters.SimpleAST.FieldReference,Castle.DynamicProxy.Generators.ConstructorVersion)">
<summary>
Generates the constructor for the nested class that extends
<see cref="T:Castle.DynamicProxy.AbstractInvocation"/>
</summary>
<param name="targetFieldType"></param>
<param name="nested"></param>
<param name="targetField"></param>
<param name="version"></param>
</member>
<member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.CreateInitializeCacheMethodBody(System.Type,System.Reflection.MethodInfo[],Castle.DynamicProxy.Generators.Emitters.ClassEmitter,Castle.DynamicProxy.Generators.Emitters.ConstructorEmitter)">
<summary>
Improvement: this cache should be static. We should generate a
type constructor instead
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.AcceptMethod(System.Reflection.MethodInfo,System.Boolean)">
<summary>
Performs some basic screening and invokes the <see cref="T:Castle.DynamicProxy.IProxyGenerationHook"/>
to select methods.
</summary>
<param name="method"></param>
<param name="onlyVirtuals"></param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.IsAccessible(System.Reflection.MethodInfo)">
<summary>
Checks if the method is public or protected.
</summary>
<param name="method"></param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.ShouldSkipAttributeReplication(System.Attribute)">
<summary>
Attributes should be replicated if they are non-inheritable,
but there are some special cases where the attributes means
something to the CLR, where they should be skipped.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.ShouldCreateNewSlot(System.Reflection.MethodInfo)">
<summary>
Checks if the method has the same signature as a method that was marked as
one that should generate a new vtable slot.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.CacheKey.#ctor(System.Type,System.Type[],Castle.DynamicProxy.ProxyGenerationOptions)">
<summary>
Initializes a new instance of the <see cref="T:Castle.DynamicProxy.Generators.CacheKey"/> class.
</summary>
<param name="targetType">Type of the target.</param>
<param name="interfaces">The interfaces.</param>
<param name="options">The options.</param>
</member>
<member name="T:Castle.DynamicProxy.Generators.ClassProxyGenerator">
<summary>
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.EventToGenerate.#ctor(Castle.DynamicProxy.Generators.Emitters.EventEmitter,System.Reflection.MethodInfo,System.Reflection.MethodInfo,System.Reflection.EventAttributes)">
<summary>
Initializes a new instance of the <see cref="T:Castle.DynamicProxy.Generators.EventToGenerate"/> class.
</summary>
<param name="emitter">The emitter.</param>
<param name="addMethod">The add method.</param>
<param name="removeMethod">The remove method.</param>
<param name="attributes">The attributes.</param>
</member>
<member name="T:Castle.DynamicProxy.Generators.InterfaceProxyWithTargetGenerator">
<summary>
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.InterfaceProxyWithTargetGenerator.FindMethodOnTargetType(System.Reflection.MethodInfo,System.Type,System.Boolean)">
<summary>
Finds the type of the method on target.
</summary>
<param name="methodOnInterface">The method on interface.</param>
<param name="proxyTargetType">Type of the proxy target.</param>
/// <param name="checkMixins">if set to <c>true</c> will check implementation on mixins.</param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.Generators.InterfaceProxyWithTargetGenerator.IsTypeEquivalent(System.Type,System.Type)">
<summary>
Checks whether the given types are the same. This is
more complicated than it looks.
</summary>
<param name="sourceType"></param>
<param name="targetType"></param>
<returns></returns>
</member>
<member name="T:Castle.DynamicProxy.Generators.InterfaceGeneratorType">
<summary>
This is used by the ProxyObjectReference class durin de-serialiation, to know
which generator it should use
</summary>
</member>
<member name="T:Castle.DynamicProxy.Generators.MethodFinder">
<summary>
Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue
where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Serialization.ProxyObjectReference">
<summary>
Handles the deserialization of proxies.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Serialization.ProxyObjectReference.ResetScope">
<summary>
Resets the <see cref="P:Castle.DynamicProxy.Serialization.ProxyObjectReference.ModuleScope"/> used for deserialization to a new scope.
</summary>
<remarks>This is useful for test cases.</remarks>
</member>
<member name="M:Castle.DynamicProxy.Serialization.ProxyObjectReference.SetScope(Castle.DynamicProxy.ModuleScope)">
<summary>
Resets the <see cref="P:Castle.DynamicProxy.Serialization.ProxyObjectReference.ModuleScope"/> used for deserialization to a given <paramref name="scope"/>.
</summary>
<param name="scope">The scope to be used for deserialization.</param>
<remarks>By default, the deserialization process uses a different scope than the rest of the application, which can lead to multiple proxies
being generated for the same type. By explicitly setting the deserialization scope to the application's scope, this can be avoided.</remarks>
</member>
<member name="P:Castle.DynamicProxy.Serialization.ProxyObjectReference.ModuleScope">
<summary>
Gets the <see cref="T:Castle.DynamicProxy.ModuleScope"/> used for deserialization.
</summary>
<value>As <see cref="T:Castle.DynamicProxy.Serialization.ProxyObjectReference"/> has no way of automatically determining the scope used by the application (and the application
might use more than one scope at the same time), <see cref="T:Castle.DynamicProxy.Serialization.ProxyObjectReference"/> uses a dedicated scope instance for deserializing proxy
types. This instance can be reset and set to a specific value via <see cref="M:Castle.DynamicProxy.Serialization.ProxyObjectReference.ResetScope"/> and <see cref="M:Castle.DynamicProxy.Serialization.ProxyObjectReference.SetScope(Castle.DynamicProxy.ModuleScope)"/>.</value>
</member>
<member name="T:Castle.DynamicProxy.IProxyGenerationHook">
<summary>
Used during the target type inspection process.
Implementors have a chance to interfere in the
proxy generation process
</summary>
</member>
<member name="M:Castle.DynamicProxy.IProxyGenerationHook.ShouldInterceptMethod(System.Type,System.Reflection.MethodInfo)">
<summary>
Invoked by the generation process to know if
the specified member should be proxied
</summary>
<param name="type"></param>
<param name="memberInfo"></param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.IProxyGenerationHook.NonVirtualMemberNotification(System.Type,System.Reflection.MemberInfo)">
<summary>
Invoked by the generation process to notify that a
member wasn't marked as virtual.
</summary>
<param name="type"></param>
<param name="memberInfo"></param>
</member>
<member name="M:Castle.DynamicProxy.IProxyGenerationHook.MethodsInspected">
<summary>
Invoked by the generation process to notify
that the whole process is completed.
</summary>
</member>
<member name="T:Castle.DynamicProxy.CacheMappingsAttribute">
<summary>
Applied to the assemblies saved by <see cref="T:Castle.DynamicProxy.ModuleScope"/> in order to persist the cache data included in the persisted assembly.
</summary>
</member>
<member name="T:Castle.DynamicProxy.IProxyBuilder">
<summary>
Abstracts the implementation of proxy constructions
</summary>
</member>
<member name="M:Castle.DynamicProxy.IProxyBuilder.CreateClassProxy(System.Type,Castle.DynamicProxy.ProxyGenerationOptions)">
<summary>
Implementors should return a proxy for the specified type.
</summary>
<param name="theClass">The proxy base class.</param>
<param name="options">The proxy generation options.</param>
<returns>The generated proxy type.</returns>
</member>
<member name="M:Castle.DynamicProxy.IProxyBuilder.CreateClassProxy(System.Type,System.Type[],Castle.DynamicProxy.ProxyGenerationOptions)">
<summary>
Implementors should return a proxy for the specified
type and interfaces. The interfaces must be only "mark" interfaces
</summary>
<param name="theClass"></param>
<param name="interfaces"></param>
<param name="options"></param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.IProxyBuilder.CreateInterfaceProxyTypeWithTarget(System.Type,System.Type[],System.Type,Castle.DynamicProxy.ProxyGenerationOptions)">
<summary>
Implementors should return a proxy for the specified
interface that 'proceeds' executions to the
specified target.
</summary>
<param name="theInterface"></param>
<param name="interfaces"></param>
<param name="targetType"></param>
<param name="options"></param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.IProxyBuilder.CreateInterfaceProxyTypeWithoutTarget(System.Type,System.Type[],Castle.DynamicProxy.ProxyGenerationOptions)">
<summary>
Implementors should return a proxy for the specified
interface that delegate all executions to the
specified interceptor(s).
</summary>
<param name="theInterface"></param>
<param name="interfaces"></param>
<param name="options"></param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.IProxyBuilder.CreateInterfaceProxyTypeWithTargetInterface(System.Type,Castle.DynamicProxy.ProxyGenerationOptions)">
<summary>
Implementors should return a proxy for the specified
interface that delegate all executions to the
specified interceptor(s) and uses an instance of the interface
as their targets, rather than a class. All IInvocation's
should then implement IChangeProxyTarget.
</summary>
<param name="theInterface"></param>
<param name="options"></param>
<returns></returns>
</member>
<member name="P:Castle.DynamicProxy.IProxyBuilder.ModuleScope">
<summary>
Gets the module scope used by this builder for generating code.
</summary>
<value>The module scope used by this builder.</value>
</member>
<member name="M:Castle.DynamicProxy.InternalsHelper.IsInternalToDynamicProxy(System.Reflection.Assembly)">
<summary>
Determines whether this assembly has internals visisble to dynamic proxy.
</summary>
<param name="asm">The asm.</param>
</member>
<member name="M:Castle.DynamicProxy.InternalsHelper.IsInternal(System.Reflection.MethodInfo)">
<summary>
Determines whether the specified method is internal.
</summary>
<param name="method">The method.</param>
<returns>
<c>true</c> if the specified method is internal; otherwise, <c>false</c>.
</returns>
</member>
<member name="M:Castle.DynamicProxy.MixinData.#ctor(System.Collections.Generic.IEnumerable{System.Object})">
<summary>
Because we need to cache the types based on the mixed in mixins, we do the following here:
- Get all the mixin interfaces
- Sort them by full name
- Return them by position
The idea is to have reproducable behavior for the case that mixins are registered in different orders.
This method is here because it is required
</summary>
</member>
<member name="T:Castle.DynamicProxy.ModuleScope">
<summary>
Summary description for ModuleScope.
</summary>
</member>
<member name="F:Castle.DynamicProxy.ModuleScope.DEFAULT_FILE_NAME">
<summary>
The default file name used when the assembly is saved using <see cref="F:Castle.DynamicProxy.ModuleScope.DEFAULT_FILE_NAME"/>.
</summary>
</member>
<member name="F:Castle.DynamicProxy.ModuleScope.DEFAULT_ASSEMBLY_NAME">
<summary>
The default assembly (simple) name used for the assemblies generated by a <see cref="T:Castle.DynamicProxy.ModuleScope"/> instance.
</summary>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Castle.DynamicProxy.ModuleScope"/> class; assemblies created by this instance will not be saved.
</summary>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see cref="T:Castle.DynamicProxy.ModuleScope"/> class, allowing to specify whether the assemblies generated by this instance
should be saved.
</summary>
<param name="savePhysicalAssembly">If set to <c>true</c> saves the generated module.</param>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.#ctor(System.Boolean,System.String,System.String,System.String,System.String)">
<summary>
Initializes a new instance of the <see cref="T:Castle.DynamicProxy.ModuleScope"/> class, allowing to specify whether the assemblies generated by this instance
should be saved and what simple names are to be assigned to them.
</summary>
<param name="savePhysicalAssembly">If set to <c>true</c> saves the generated module.</param>
<param name="strongAssemblyName">The simple name of the strong-named assembly generated by this <see cref="T:Castle.DynamicProxy.ModuleScope"/>.</param>
<param name="strongModulePath">The path and file name of the manifest module of the strong-named assembly generated by this <see cref="T:Castle.DynamicProxy.ModuleScope"/>.</param>
<param name="weakAssemblyName">The simple name of the weak-named assembly generated by this <see cref="T:Castle.DynamicProxy.ModuleScope"/>.</param>
<param name="weakModulePath">The path and file name of the manifest module of the weak-named assembly generated by this <see cref="T:Castle.DynamicProxy.ModuleScope"/>.</param>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.GetFromCache(Castle.DynamicProxy.Generators.CacheKey)">
<summary>
Returns a type from this scope's type cache, or null if the key cannot be found.
</summary>
<param name="key">The key to be looked up in the cache.</param>
<returns>The type from this scope's type cache matching the key, or null if the key cannot be found</returns>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.RegisterInCache(Castle.DynamicProxy.Generators.CacheKey,System.Type)">
<summary>
Registers a type in this scope's type cache.
</summary>
<param name="key">The key to be associated with the type.</param>
<param name="type">The type to be stored in the cache.</param>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.GetKeyPair">
<summary>
Gets the key pair used to sign the strong-named assembly generated by this <see cref="T:Castle.DynamicProxy.ModuleScope"/>.
</summary>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.ObtainDynamicModule(System.Boolean)">
<summary>
Gets the specified module generated by this scope, creating a new one if none has yet been generated.
</summary>
<param name="isStrongNamed">If set to true, a strong-named module is returned; otherwise, a weak-named module is returned.</param>
<returns>A strong-named or weak-named module generated by this scope, as specified by the <paramref name="isStrongNamed"/> parameter.</returns>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.ObtainDynamicModuleWithStrongName">
<summary>
Gets the strong-named module generated by this scope, creating a new one if none has yet been generated.
</summary>
<returns>A strong-named module generated by this scope.</returns>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.ObtainDynamicModuleWithWeakName">
<summary>
Gets the weak-named module generated by this scope, creating a new one if none has yet been generated.
</summary>
<returns>A weak-named module generated by this scope.</returns>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.SaveAssembly">
<summary>
Saves the generated assembly with the name and directory information given when this <see cref="T:Castle.DynamicProxy.ModuleScope"/> instance was created (or with
the <see cref="F:Castle.DynamicProxy.ModuleScope.DEFAULT_FILE_NAME"/> and current directory if none was given).
</summary>
<remarks>
<para>
This method stores the generated assembly in the directory passed as part of the module information specified when this instance was
constructed (if any, else the current directory is used). If both a strong-named and a weak-named assembly
have been generated, it will throw an exception; in this case, use the <see cref="M:Castle.DynamicProxy.ModuleScope.SaveAssembly(System.Boolean)"/> overload.
</para>
<para>
If this <see cref="T:Castle.DynamicProxy.ModuleScope"/> was created without indicating that the assembly should be saved, this method does nothing.
</para></remarks>
<exception cref="T:System.InvalidOperationException">Both a strong-named and a weak-named assembly have been generated.</exception>
<returns>The path of the generated assembly file, or null if no file has been generated.</returns>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.SaveAssembly(System.Boolean)">
<summary>
Saves the specified generated assembly with the name and directory information given when this <see cref="T:Castle.DynamicProxy.ModuleScope"/> instance was created
(or with the <see cref="F:Castle.DynamicProxy.ModuleScope.DEFAULT_FILE_NAME"/> and current directory if none was given).
</summary>
<param name="strongNamed">True if the generated assembly with a strong name should be saved (see <see cref="P:Castle.DynamicProxy.ModuleScope.StrongNamedModule"/>);
false if the generated assembly without a strong name should be saved (see <see cref="P:Castle.DynamicProxy.ModuleScope.WeakNamedModule"/>.</param>
<remarks>
<para>
This method stores the specified generated assembly in the directory passed as part of the module information specified when this instance was
constructed (if any, else the current directory is used).
</para>
<para>
If this <see cref="T:Castle.DynamicProxy.ModuleScope"/> was created without indicating that the assembly should be saved, this method does nothing.
</para>
</remarks>
<exception cref="T:System.InvalidOperationException">No assembly has been generated that matches the <paramref name="strongNamed"/> parameter.
</exception>
<returns>The path of the generated assembly file, or null if no file has been generated.</returns>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.LoadAssemblyIntoCache(System.Reflection.Assembly)">
<summary>
Loads the generated types from the given assembly into this <see cref="T:Castle.DynamicProxy.ModuleScope"/>'s cache.
</summary>
<param name="assembly">The assembly to load types from. This assembly must have been saved via <see cref="M:Castle.DynamicProxy.ModuleScope.SaveAssembly(System.Boolean)"/> or
<see cref="M:Castle.DynamicProxy.ModuleScope.SaveAssembly"/>, or it must have the <see cref="T:Castle.DynamicProxy.CacheMappingsAttribute"/> manually applied.</param>
<remarks>
This method can be used to load previously generated and persisted proxy types from disk into this scope's type cache, eg. in order
to avoid the performance hit associated with proxy generation.
</remarks>
</member>
<member name="P:Castle.DynamicProxy.ModuleScope.RWLock">
<summary>
Users of this <see cref="T:Castle.DynamicProxy.ModuleScope"/> should use this lock when accessing the cache.
</summary>
</member>
<member name="P:Castle.DynamicProxy.ModuleScope.StrongNamedModule">
<summary>
Gets the strong-named module generated by this scope, or <see langword="null"/> if none has yet been generated.
</summary>
<value>The strong-named module generated by this scope, or <see langword="null"/> if none has yet been generated.</value>
</member>
<member name="P:Castle.DynamicProxy.ModuleScope.StrongNamedModuleName">
<summary>
Gets the file name of the strongly named module generated by this scope.
</summary>
<value>The file name of the strongly named module generated by this scope.</value>
</member>
<member name="P:Castle.DynamicProxy.ModuleScope.StrongNamedModuleDirectory">
<summary>
Gets the directory where the strongly named module generated by this scope will be saved, or <see langword="null"/> if the current directory
is used.
</summary>
<value>The directory where the strongly named module generated by this scope will be saved when <see cref="M:Castle.DynamicProxy.ModuleScope.SaveAssembly"/> is called
(if this scope was created to save modules).</value>
</member>
<member name="P:Castle.DynamicProxy.ModuleScope.WeakNamedModule">
<summary>
Gets the weak-named module generated by this scope, or <see langword="null"/> if none has yet been generated.
</summary>
<value>The weak-named module generated by this scope, or <see langword="null"/> if none has yet been generated.</value>
</member>
<member name="P:Castle.DynamicProxy.ModuleScope.WeakNamedModuleName">
<summary>
Gets the file name of the weakly named module generated by this scope.
</summary>
<value>The file name of the weakly named module generated by this scope.</value>
</member>
<member name="P:Castle.DynamicProxy.ModuleScope.WeakNamedModuleDirectory">
<summary>
Gets the directory where the weakly named module generated by this scope will be saved, or <see langword="null"/> if the current directory
is used.
</summary>
<value>The directory where the weakly named module generated by this scope will be saved when <see cref="M:Castle.DynamicProxy.ModuleScope.SaveAssembly"/> is called
(if this scope was created to save modules).</value>
</member>
<member name="T:Castle.DynamicProxy.PersistentProxyBuilder">
<summary>
ProxyBuilder that persists the generated type.
</summary>
<remarks>
The saved assembly contains just the last generated type.
</remarks>
</member>
<member name="M:Castle.DynamicProxy.PersistentProxyBuilder.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Castle.DynamicProxy.PersistentProxyBuilder"/> class.
</summary>
</member>
<member name="M:Castle.DynamicProxy.PersistentProxyBuilder.SaveAssembly">
<summary>
Saves the generated assembly to a physical file. Note that this renders the <see cref="T:Castle.DynamicProxy.PersistentProxyBuilder"/> unusable.
</summary>
<returns>The path of the generated assembly file, or null if no assembly has been generated.</returns>
<remarks>This method does not support saving multiple files. If both a signed and an unsigned module have been generated, use the
respective methods of the <see cref="T:Castle.DynamicProxy.ModuleScope"/>.</remarks>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerationOptions.#ctor(Castle.DynamicProxy.IProxyGenerationHook)">
<summary>
Initializes a new instance of the <see cref="T:Castle.DynamicProxy.ProxyGenerationOptions"/> class.
</summary>
<param name="hook">The hook.</param>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerationOptions.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Castle.DynamicProxy.ProxyGenerationOptions"/> class.
</summary>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.#ctor(Castle.DynamicProxy.IProxyBuilder)">
<summary>
Initializes a new instance of the <see cref="T:Castle.DynamicProxy.ProxyGenerator"/> class.
</summary>
<param name="builder">The builder.</param>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Castle.DynamicProxy.ProxyGenerator"/> class.
</summary>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(System.Type,System.Type[],Castle.Core.Interceptor.IInterceptor[])">
<summary>
Creates the class proxy.
</summary>
<param name="targetType">Type of the target.</param>
<param name="interfaces">The interfaces.</param>
<param name="interceptors">The interceptors.</param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(System.Type,Castle.Core.Interceptor.IInterceptor[],System.Object[])">
<summary>
Creates the class proxy.
</summary>
<param name="targetType">Type of the target.</param>
<param name="interceptors">The interceptors.</param>
<param name="constructorArgs">The constructor args.</param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(System.Type,Castle.DynamicProxy.ProxyGenerationOptions,Castle.Core.Interceptor.IInterceptor[])">
<summary>
</summary>
<param name="targetType"></param>
<param name="options"></param>
<param name="interceptors"></param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(System.Type,System.Type[],Castle.DynamicProxy.ProxyGenerationOptions,System.Object[],Castle.Core.Interceptor.IInterceptor[])">
<summary>
Creates the class proxy.
</summary>
<param name="targetType">Type of the target.</param>
<param name="interfaces">The interfaces.</param>
<param name="options">The options.</param>
<param name="constructorArgs">The constructor args.</param>
<param name="interceptors">The interceptors.</param>
<returns></returns>
</member>
<member name="P:Castle.DynamicProxy.ProxyGenerator.ProxyBuilder">
<summary>
Gets the proxy builder instance.
</summary>
<value>The proxy builder.</value>
</member>
<member name="M:Castle.DynamicProxy.RemotableInvocation.Proceed">
<summary>
</summary>
<returns></returns>
</member>
<member name="P:Castle.DynamicProxy.RemotableInvocation.Method">
<summary>
</summary>
</member>
<member name="P:Castle.DynamicProxy.RemotableInvocation.MethodInvocationTarget">
<summary>
For interface proxies, this will point to the
<see cref="T:System.Reflection.MethodInfo"/> on the target class
</summary>
</member>
</members>
</doc>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,688 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Castle.DynamicProxy2</name>
</assembly>
<members>
<member name="T:Castle.DynamicProxy.Generators.Emitters.SimpleAST.IndirectReference">
<summary>
Wraps a reference that is passed
ByRef and provides indirect load/store support.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Generators.Emitters.SimpleAST.NewArrayExpression">
<summary>
Summary description for NewArrayExpression.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Generators.Emitters.SimpleAST.ReferencesToObjectArrayExpression">
<summary>
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.Emitters.CustomAttributeUtil.InitializeConstructorArgs(System.Type,System.Attribute,System.Object[],System.Reflection.ParameterInfo[])">
<summary>
Here we try to match a constructor argument to its value.
Since we can't get the values from the assembly, we use some heuristics to get it.
a/ we first try to match all the properties on the attributes by name (case insensitive) to the argument
b/ if we fail we try to match them by property type, with some smarts about convertions (i,e: can use Guid for string).
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.Emitters.CustomAttributeUtil.ReplaceIfBetterMatch(System.Reflection.ParameterInfo,System.Reflection.PropertyInfo,System.Reflection.PropertyInfo)">
<summary>
We have the following rules here.
Try to find a matching type, failing that, if the parameter is string, get the first property (under the assumption that
we can convert it.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.Emitters.CustomAttributeUtil.ConvertValue(System.Object,System.Type)">
<summary>
Attributes can only accept simple types, so we return null for null,
if the value is passed as string we call to string (should help with converting),
otherwise, we use the value as is (enums, integer, etc).
</summary>
</member>
<member name="T:Castle.DynamicProxy.Generators.Emitters.LdcOpCodesDictionary">
<summary>
Provides appropriate Ldc.X opcode for the type of primitive value to be loaded.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Generators.Emitters.LdindOpCodesDictionary">
<summary>
Provides appropriate Ldind.X opcode for
the type of primitive value to be loaded indirectly.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.Emitters.MethodEmitter.CopyParametersAndReturnTypeFrom(System.Reflection.MethodInfo,Castle.DynamicProxy.Generators.Emitters.AbstractTypeEmitter)">
<summary>
Inspect the base method for generic definitions
and set the return type and the parameters
accordingly
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.Emitters.OpCodeUtil.EmitLoadOpCodeForConstantValue(System.Reflection.Emit.ILGenerator,System.Object)">
<summary>
Emits a load opcode of the appropriate kind for a constant string or
primitive value.
</summary>
<param name="gen"></param>
<param name="value"></param>
</member>
<member name="M:Castle.DynamicProxy.Generators.Emitters.OpCodeUtil.EmitLoadOpCodeForDefaultValueOfType(System.Reflection.Emit.ILGenerator,System.Type)">
<summary>
Emits a load opcode of the appropriate kind for the constant default value of a
type, such as 0 for value types and null for reference types.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.Emitters.OpCodeUtil.EmitLoadIndirectOpCodeForType(System.Reflection.Emit.ILGenerator,System.Type)">
<summary>
Emits a load indirect opcode of the appropriate type for a value or object reference.
Pops a pointer off the evaluation stack, dereferences it and loads
a value of the specified type.
</summary>
<param name="gen"></param>
<param name="type"></param>
</member>
<member name="M:Castle.DynamicProxy.Generators.Emitters.OpCodeUtil.EmitStoreIndirectOpCodeForType(System.Reflection.Emit.ILGenerator,System.Type)">
<summary>
Emits a store indirectopcode of the appropriate type for a value or object reference.
Pops a value of the specified type and a pointer off the evaluation stack, and
stores the value.
</summary>
<param name="gen"></param>
<param name="type"></param>
</member>
<member name="T:Castle.DynamicProxy.Generators.Emitters.PropertiesCollection">
<summary>
Summary description for PropertiesCollection.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Generators.Emitters.StindOpCodesDictionary">
<summary>
Provides appropriate Stind.X opcode
for the type of primitive value to be stored indirectly.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Generators.BaseProxyGenerator">
<summary>
Base class that exposes the common functionalities
to proxy generation.
</summary>
<remarks>
TODO:
- Use the interceptor selector if provided
- Add tests and fixes for 'leaking this' problem
</remarks>
</member>
<member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.GetProxyTargetReference">
<summary>
Used by dinamically implement <see cref="T:Castle.Core.Interceptor.IProxyTargetAccessor"/>
</summary>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.GenerateParameterlessConstructor(Castle.DynamicProxy.Generators.Emitters.ClassEmitter,System.Type,Castle.DynamicProxy.Generators.Emitters.SimpleAST.FieldReference)">
<summary>
Generates a parameters constructor that initializes the proxy
state with <see cref="T:Castle.Core.Interceptor.StandardInterceptor"/> just to make it non-null.
<para>
This constructor is important to allow proxies to be XML serializable
</para>
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.BuildInvocationNestedType(Castle.DynamicProxy.Generators.Emitters.ClassEmitter,System.Type,System.Type,System.Reflection.MethodInfo,System.Reflection.MethodInfo,Castle.DynamicProxy.Generators.ConstructorVersion)">
<summary>
If callbackMethod is null the InvokeOnTarget implementation
is just the code to throw an exception
</summary>
<param name="emitter"></param>
<param name="targetType"></param>
<param name="targetForInvocation"></param>
<param name="methodInfo"></param>
<param name="callbackMethod"></param>
<param name="version"></param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.BuildInvocationNestedType(Castle.DynamicProxy.Generators.Emitters.ClassEmitter,System.Type,System.Type,System.Reflection.MethodInfo,System.Reflection.MethodInfo,Castle.DynamicProxy.Generators.ConstructorVersion,System.Boolean)">
<summary>
If callbackMethod is null the InvokeOnTarget implementation
is just the code to throw an exception
</summary>
<param name="emitter"></param>
<param name="targetType"></param>
<param name="targetForInvocation"></param>
<param name="methodInfo"></param>
<param name="callbackMethod"></param>
<param name="version"></param>
<param name="allowChangeTarget">If true the invocation will implement the IChangeProxyTarget interface</param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.CreateIInvocationConstructor(System.Type,Castle.DynamicProxy.Generators.Emitters.NestedClassEmitter,Castle.DynamicProxy.Generators.Emitters.SimpleAST.FieldReference,Castle.DynamicProxy.Generators.ConstructorVersion)">
<summary>
Generates the constructor for the nested class that extends
<see cref="T:Castle.DynamicProxy.AbstractInvocation"/>
</summary>
<param name="targetFieldType"></param>
<param name="nested"></param>
<param name="targetField"></param>
<param name="version"></param>
</member>
<member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.CreateInitializeCacheMethodBody(System.Type,System.Reflection.MethodInfo[],Castle.DynamicProxy.Generators.Emitters.ClassEmitter,Castle.DynamicProxy.Generators.Emitters.ConstructorEmitter)">
<summary>
Improvement: this cache should be static. We should generate a
type constructor instead
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.AcceptMethod(System.Reflection.MethodInfo,System.Boolean)">
<summary>
Performs some basic screening and invokes the <see cref="T:Castle.DynamicProxy.IProxyGenerationHook"/>
to select methods.
</summary>
<param name="method"></param>
<param name="onlyVirtuals"></param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.IsAccessible(System.Reflection.MethodInfo)">
<summary>
Checks if the method is public or protected.
</summary>
<param name="method"></param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.ShouldSkipAttributeReplication(System.Attribute)">
<summary>
Attributes should be replicated if they are non-inheritable,
but there are some special cases where the attributes means
something to the CLR, where they should be skipped.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.ShouldCreateNewSlot(System.Reflection.MethodInfo)">
<summary>
Checks if the method has the same signature as a method that was marked as
one that should generate a new vtable slot.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.CacheKey.#ctor(System.Type,System.Type[],Castle.DynamicProxy.ProxyGenerationOptions)">
<summary>
Initializes a new instance of the <see cref="T:Castle.DynamicProxy.Generators.CacheKey"/> class.
</summary>
<param name="targetType">Type of the target.</param>
<param name="interfaces">The interfaces.</param>
<param name="options">The options.</param>
</member>
<member name="T:Castle.DynamicProxy.Generators.ClassProxyGenerator">
<summary>
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.EventToGenerate.#ctor(Castle.DynamicProxy.Generators.Emitters.EventEmitter,System.Reflection.MethodInfo,System.Reflection.MethodInfo,System.Reflection.EventAttributes)">
<summary>
Initializes a new instance of the <see cref="T:Castle.DynamicProxy.Generators.EventToGenerate"/> class.
</summary>
<param name="emitter">The emitter.</param>
<param name="addMethod">The add method.</param>
<param name="removeMethod">The remove method.</param>
<param name="attributes">The attributes.</param>
</member>
<member name="T:Castle.DynamicProxy.Generators.InterfaceProxyWithTargetGenerator">
<summary>
</summary>
</member>
<member name="M:Castle.DynamicProxy.Generators.InterfaceProxyWithTargetGenerator.FindMethodOnTargetType(System.Reflection.MethodInfo,System.Type,System.Boolean)">
<summary>
Finds the type of the method on target.
</summary>
<param name="methodOnInterface">The method on interface.</param>
<param name="proxyTargetType">Type of the proxy target.</param>
/// <param name="checkMixins">if set to <c>true</c> will check implementation on mixins.</param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.Generators.InterfaceProxyWithTargetGenerator.IsTypeEquivalent(System.Type,System.Type)">
<summary>
Checks whether the given types are the same. This is
more complicated than it looks.
</summary>
<param name="sourceType"></param>
<param name="targetType"></param>
<returns></returns>
</member>
<member name="T:Castle.DynamicProxy.Generators.InterfaceGeneratorType">
<summary>
This is used by the ProxyObjectReference class durin de-serialiation, to know
which generator it should use
</summary>
</member>
<member name="T:Castle.DynamicProxy.Generators.MethodFinder">
<summary>
Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue
where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded.
</summary>
</member>
<member name="T:Castle.DynamicProxy.Serialization.ProxyObjectReference">
<summary>
Handles the deserialization of proxies.
</summary>
</member>
<member name="M:Castle.DynamicProxy.Serialization.ProxyObjectReference.ResetScope">
<summary>
Resets the <see cref="P:Castle.DynamicProxy.Serialization.ProxyObjectReference.ModuleScope"/> used for deserialization to a new scope.
</summary>
<remarks>This is useful for test cases.</remarks>
</member>
<member name="M:Castle.DynamicProxy.Serialization.ProxyObjectReference.SetScope(Castle.DynamicProxy.ModuleScope)">
<summary>
Resets the <see cref="P:Castle.DynamicProxy.Serialization.ProxyObjectReference.ModuleScope"/> used for deserialization to a given <paramref name="scope"/>.
</summary>
<param name="scope">The scope to be used for deserialization.</param>
<remarks>By default, the deserialization process uses a different scope than the rest of the application, which can lead to multiple proxies
being generated for the same type. By explicitly setting the deserialization scope to the application's scope, this can be avoided.</remarks>
</member>
<member name="P:Castle.DynamicProxy.Serialization.ProxyObjectReference.ModuleScope">
<summary>
Gets the <see cref="T:Castle.DynamicProxy.ModuleScope"/> used for deserialization.
</summary>
<value>As <see cref="T:Castle.DynamicProxy.Serialization.ProxyObjectReference"/> has no way of automatically determining the scope used by the application (and the application
might use more than one scope at the same time), <see cref="T:Castle.DynamicProxy.Serialization.ProxyObjectReference"/> uses a dedicated scope instance for deserializing proxy
types. This instance can be reset and set to a specific value via <see cref="M:Castle.DynamicProxy.Serialization.ProxyObjectReference.ResetScope"/> and <see cref="M:Castle.DynamicProxy.Serialization.ProxyObjectReference.SetScope(Castle.DynamicProxy.ModuleScope)"/>.</value>
</member>
<member name="T:Castle.DynamicProxy.IProxyGenerationHook">
<summary>
Used during the target type inspection process.
Implementors have a chance to interfere in the
proxy generation process
</summary>
</member>
<member name="M:Castle.DynamicProxy.IProxyGenerationHook.ShouldInterceptMethod(System.Type,System.Reflection.MethodInfo)">
<summary>
Invoked by the generation process to know if
the specified member should be proxied
</summary>
<param name="type"></param>
<param name="memberInfo"></param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.IProxyGenerationHook.NonVirtualMemberNotification(System.Type,System.Reflection.MemberInfo)">
<summary>
Invoked by the generation process to notify that a
member wasn't marked as virtual.
</summary>
<param name="type"></param>
<param name="memberInfo"></param>
</member>
<member name="M:Castle.DynamicProxy.IProxyGenerationHook.MethodsInspected">
<summary>
Invoked by the generation process to notify
that the whole process is completed.
</summary>
</member>
<member name="T:Castle.DynamicProxy.CacheMappingsAttribute">
<summary>
Applied to the assemblies saved by <see cref="T:Castle.DynamicProxy.ModuleScope"/> in order to persist the cache data included in the persisted assembly.
</summary>
</member>
<member name="T:Castle.DynamicProxy.IProxyBuilder">
<summary>
Abstracts the implementation of proxy constructions
</summary>
</member>
<member name="M:Castle.DynamicProxy.IProxyBuilder.CreateClassProxy(System.Type,Castle.DynamicProxy.ProxyGenerationOptions)">
<summary>
Implementors should return a proxy for the specified type.
</summary>
<param name="theClass">The proxy base class.</param>
<param name="options">The proxy generation options.</param>
<returns>The generated proxy type.</returns>
</member>
<member name="M:Castle.DynamicProxy.IProxyBuilder.CreateClassProxy(System.Type,System.Type[],Castle.DynamicProxy.ProxyGenerationOptions)">
<summary>
Implementors should return a proxy for the specified
type and interfaces. The interfaces must be only "mark" interfaces
</summary>
<param name="theClass"></param>
<param name="interfaces"></param>
<param name="options"></param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.IProxyBuilder.CreateInterfaceProxyTypeWithTarget(System.Type,System.Type[],System.Type,Castle.DynamicProxy.ProxyGenerationOptions)">
<summary>
Implementors should return a proxy for the specified
interface that 'proceeds' executions to the
specified target.
</summary>
<param name="theInterface"></param>
<param name="interfaces"></param>
<param name="targetType"></param>
<param name="options"></param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.IProxyBuilder.CreateInterfaceProxyTypeWithoutTarget(System.Type,System.Type[],Castle.DynamicProxy.ProxyGenerationOptions)">
<summary>
Implementors should return a proxy for the specified
interface that delegate all executions to the
specified interceptor(s).
</summary>
<param name="theInterface"></param>
<param name="interfaces"></param>
<param name="options"></param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.IProxyBuilder.CreateInterfaceProxyTypeWithTargetInterface(System.Type,Castle.DynamicProxy.ProxyGenerationOptions)">
<summary>
Implementors should return a proxy for the specified
interface that delegate all executions to the
specified interceptor(s) and uses an instance of the interface
as their targets, rather than a class. All IInvocation's
should then implement IChangeProxyTarget.
</summary>
<param name="theInterface"></param>
<param name="options"></param>
<returns></returns>
</member>
<member name="P:Castle.DynamicProxy.IProxyBuilder.ModuleScope">
<summary>
Gets the module scope used by this builder for generating code.
</summary>
<value>The module scope used by this builder.</value>
</member>
<member name="M:Castle.DynamicProxy.InternalsHelper.IsInternalToDynamicProxy(System.Reflection.Assembly)">
<summary>
Determines whether this assembly has internals visisble to dynamic proxy.
</summary>
<param name="asm">The asm.</param>
</member>
<member name="M:Castle.DynamicProxy.InternalsHelper.IsInternal(System.Reflection.MethodInfo)">
<summary>
Determines whether the specified method is internal.
</summary>
<param name="method">The method.</param>
<returns>
<c>true</c> if the specified method is internal; otherwise, <c>false</c>.
</returns>
</member>
<member name="M:Castle.DynamicProxy.MixinData.#ctor(System.Collections.Generic.IEnumerable{System.Object})">
<summary>
Because we need to cache the types based on the mixed in mixins, we do the following here:
- Get all the mixin interfaces
- Sort them by full name
- Return them by position
The idea is to have reproducable behavior for the case that mixins are registered in different orders.
This method is here because it is required
</summary>
</member>
<member name="T:Castle.DynamicProxy.ModuleScope">
<summary>
Summary description for ModuleScope.
</summary>
</member>
<member name="F:Castle.DynamicProxy.ModuleScope.DEFAULT_FILE_NAME">
<summary>
The default file name used when the assembly is saved using <see cref="F:Castle.DynamicProxy.ModuleScope.DEFAULT_FILE_NAME"/>.
</summary>
</member>
<member name="F:Castle.DynamicProxy.ModuleScope.DEFAULT_ASSEMBLY_NAME">
<summary>
The default assembly (simple) name used for the assemblies generated by a <see cref="T:Castle.DynamicProxy.ModuleScope"/> instance.
</summary>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Castle.DynamicProxy.ModuleScope"/> class; assemblies created by this instance will not be saved.
</summary>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see cref="T:Castle.DynamicProxy.ModuleScope"/> class, allowing to specify whether the assemblies generated by this instance
should be saved.
</summary>
<param name="savePhysicalAssembly">If set to <c>true</c> saves the generated module.</param>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.#ctor(System.Boolean,System.String,System.String,System.String,System.String)">
<summary>
Initializes a new instance of the <see cref="T:Castle.DynamicProxy.ModuleScope"/> class, allowing to specify whether the assemblies generated by this instance
should be saved and what simple names are to be assigned to them.
</summary>
<param name="savePhysicalAssembly">If set to <c>true</c> saves the generated module.</param>
<param name="strongAssemblyName">The simple name of the strong-named assembly generated by this <see cref="T:Castle.DynamicProxy.ModuleScope"/>.</param>
<param name="strongModulePath">The path and file name of the manifest module of the strong-named assembly generated by this <see cref="T:Castle.DynamicProxy.ModuleScope"/>.</param>
<param name="weakAssemblyName">The simple name of the weak-named assembly generated by this <see cref="T:Castle.DynamicProxy.ModuleScope"/>.</param>
<param name="weakModulePath">The path and file name of the manifest module of the weak-named assembly generated by this <see cref="T:Castle.DynamicProxy.ModuleScope"/>.</param>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.GetFromCache(Castle.DynamicProxy.Generators.CacheKey)">
<summary>
Returns a type from this scope's type cache, or null if the key cannot be found.
</summary>
<param name="key">The key to be looked up in the cache.</param>
<returns>The type from this scope's type cache matching the key, or null if the key cannot be found</returns>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.RegisterInCache(Castle.DynamicProxy.Generators.CacheKey,System.Type)">
<summary>
Registers a type in this scope's type cache.
</summary>
<param name="key">The key to be associated with the type.</param>
<param name="type">The type to be stored in the cache.</param>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.GetKeyPair">
<summary>
Gets the key pair used to sign the strong-named assembly generated by this <see cref="T:Castle.DynamicProxy.ModuleScope"/>.
</summary>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.ObtainDynamicModule(System.Boolean)">
<summary>
Gets the specified module generated by this scope, creating a new one if none has yet been generated.
</summary>
<param name="isStrongNamed">If set to true, a strong-named module is returned; otherwise, a weak-named module is returned.</param>
<returns>A strong-named or weak-named module generated by this scope, as specified by the <paramref name="isStrongNamed"/> parameter.</returns>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.ObtainDynamicModuleWithStrongName">
<summary>
Gets the strong-named module generated by this scope, creating a new one if none has yet been generated.
</summary>
<returns>A strong-named module generated by this scope.</returns>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.ObtainDynamicModuleWithWeakName">
<summary>
Gets the weak-named module generated by this scope, creating a new one if none has yet been generated.
</summary>
<returns>A weak-named module generated by this scope.</returns>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.SaveAssembly">
<summary>
Saves the generated assembly with the name and directory information given when this <see cref="T:Castle.DynamicProxy.ModuleScope"/> instance was created (or with
the <see cref="F:Castle.DynamicProxy.ModuleScope.DEFAULT_FILE_NAME"/> and current directory if none was given).
</summary>
<remarks>
<para>
This method stores the generated assembly in the directory passed as part of the module information specified when this instance was
constructed (if any, else the current directory is used). If both a strong-named and a weak-named assembly
have been generated, it will throw an exception; in this case, use the <see cref="M:Castle.DynamicProxy.ModuleScope.SaveAssembly(System.Boolean)"/> overload.
</para>
<para>
If this <see cref="T:Castle.DynamicProxy.ModuleScope"/> was created without indicating that the assembly should be saved, this method does nothing.
</para></remarks>
<exception cref="T:System.InvalidOperationException">Both a strong-named and a weak-named assembly have been generated.</exception>
<returns>The path of the generated assembly file, or null if no file has been generated.</returns>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.SaveAssembly(System.Boolean)">
<summary>
Saves the specified generated assembly with the name and directory information given when this <see cref="T:Castle.DynamicProxy.ModuleScope"/> instance was created
(or with the <see cref="F:Castle.DynamicProxy.ModuleScope.DEFAULT_FILE_NAME"/> and current directory if none was given).
</summary>
<param name="strongNamed">True if the generated assembly with a strong name should be saved (see <see cref="P:Castle.DynamicProxy.ModuleScope.StrongNamedModule"/>);
false if the generated assembly without a strong name should be saved (see <see cref="P:Castle.DynamicProxy.ModuleScope.WeakNamedModule"/>.</param>
<remarks>
<para>
This method stores the specified generated assembly in the directory passed as part of the module information specified when this instance was
constructed (if any, else the current directory is used).
</para>
<para>
If this <see cref="T:Castle.DynamicProxy.ModuleScope"/> was created without indicating that the assembly should be saved, this method does nothing.
</para>
</remarks>
<exception cref="T:System.InvalidOperationException">No assembly has been generated that matches the <paramref name="strongNamed"/> parameter.
</exception>
<returns>The path of the generated assembly file, or null if no file has been generated.</returns>
</member>
<member name="M:Castle.DynamicProxy.ModuleScope.LoadAssemblyIntoCache(System.Reflection.Assembly)">
<summary>
Loads the generated types from the given assembly into this <see cref="T:Castle.DynamicProxy.ModuleScope"/>'s cache.
</summary>
<param name="assembly">The assembly to load types from. This assembly must have been saved via <see cref="M:Castle.DynamicProxy.ModuleScope.SaveAssembly(System.Boolean)"/> or
<see cref="M:Castle.DynamicProxy.ModuleScope.SaveAssembly"/>, or it must have the <see cref="T:Castle.DynamicProxy.CacheMappingsAttribute"/> manually applied.</param>
<remarks>
This method can be used to load previously generated and persisted proxy types from disk into this scope's type cache, eg. in order
to avoid the performance hit associated with proxy generation.
</remarks>
</member>
<member name="P:Castle.DynamicProxy.ModuleScope.RWLock">
<summary>
Users of this <see cref="T:Castle.DynamicProxy.ModuleScope"/> should use this lock when accessing the cache.
</summary>
</member>
<member name="P:Castle.DynamicProxy.ModuleScope.StrongNamedModule">
<summary>
Gets the strong-named module generated by this scope, or <see langword="null"/> if none has yet been generated.
</summary>
<value>The strong-named module generated by this scope, or <see langword="null"/> if none has yet been generated.</value>
</member>
<member name="P:Castle.DynamicProxy.ModuleScope.StrongNamedModuleName">
<summary>
Gets the file name of the strongly named module generated by this scope.
</summary>
<value>The file name of the strongly named module generated by this scope.</value>
</member>
<member name="P:Castle.DynamicProxy.ModuleScope.StrongNamedModuleDirectory">
<summary>
Gets the directory where the strongly named module generated by this scope will be saved, or <see langword="null"/> if the current directory
is used.
</summary>
<value>The directory where the strongly named module generated by this scope will be saved when <see cref="M:Castle.DynamicProxy.ModuleScope.SaveAssembly"/> is called
(if this scope was created to save modules).</value>
</member>
<member name="P:Castle.DynamicProxy.ModuleScope.WeakNamedModule">
<summary>
Gets the weak-named module generated by this scope, or <see langword="null"/> if none has yet been generated.
</summary>
<value>The weak-named module generated by this scope, or <see langword="null"/> if none has yet been generated.</value>
</member>
<member name="P:Castle.DynamicProxy.ModuleScope.WeakNamedModuleName">
<summary>
Gets the file name of the weakly named module generated by this scope.
</summary>
<value>The file name of the weakly named module generated by this scope.</value>
</member>
<member name="P:Castle.DynamicProxy.ModuleScope.WeakNamedModuleDirectory">
<summary>
Gets the directory where the weakly named module generated by this scope will be saved, or <see langword="null"/> if the current directory
is used.
</summary>
<value>The directory where the weakly named module generated by this scope will be saved when <see cref="M:Castle.DynamicProxy.ModuleScope.SaveAssembly"/> is called
(if this scope was created to save modules).</value>
</member>
<member name="T:Castle.DynamicProxy.PersistentProxyBuilder">
<summary>
ProxyBuilder that persists the generated type.
</summary>
<remarks>
The saved assembly contains just the last generated type.
</remarks>
</member>
<member name="M:Castle.DynamicProxy.PersistentProxyBuilder.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Castle.DynamicProxy.PersistentProxyBuilder"/> class.
</summary>
</member>
<member name="M:Castle.DynamicProxy.PersistentProxyBuilder.SaveAssembly">
<summary>
Saves the generated assembly to a physical file. Note that this renders the <see cref="T:Castle.DynamicProxy.PersistentProxyBuilder"/> unusable.
</summary>
<returns>The path of the generated assembly file, or null if no assembly has been generated.</returns>
<remarks>This method does not support saving multiple files. If both a signed and an unsigned module have been generated, use the
respective methods of the <see cref="T:Castle.DynamicProxy.ModuleScope"/>.</remarks>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerationOptions.#ctor(Castle.DynamicProxy.IProxyGenerationHook)">
<summary>
Initializes a new instance of the <see cref="T:Castle.DynamicProxy.ProxyGenerationOptions"/> class.
</summary>
<param name="hook">The hook.</param>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerationOptions.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Castle.DynamicProxy.ProxyGenerationOptions"/> class.
</summary>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.#ctor(Castle.DynamicProxy.IProxyBuilder)">
<summary>
Initializes a new instance of the <see cref="T:Castle.DynamicProxy.ProxyGenerator"/> class.
</summary>
<param name="builder">The builder.</param>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Castle.DynamicProxy.ProxyGenerator"/> class.
</summary>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(System.Type,System.Type[],Castle.Core.Interceptor.IInterceptor[])">
<summary>
Creates the class proxy.
</summary>
<param name="targetType">Type of the target.</param>
<param name="interfaces">The interfaces.</param>
<param name="interceptors">The interceptors.</param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(System.Type,Castle.Core.Interceptor.IInterceptor[],System.Object[])">
<summary>
Creates the class proxy.
</summary>
<param name="targetType">Type of the target.</param>
<param name="interceptors">The interceptors.</param>
<param name="constructorArgs">The constructor args.</param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(System.Type,Castle.DynamicProxy.ProxyGenerationOptions,Castle.Core.Interceptor.IInterceptor[])">
<summary>
</summary>
<param name="targetType"></param>
<param name="options"></param>
<param name="interceptors"></param>
<returns></returns>
</member>
<member name="M:Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(System.Type,System.Type[],Castle.DynamicProxy.ProxyGenerationOptions,System.Object[],Castle.Core.Interceptor.IInterceptor[])">
<summary>
Creates the class proxy.
</summary>
<param name="targetType">Type of the target.</param>
<param name="interfaces">The interfaces.</param>
<param name="options">The options.</param>
<param name="constructorArgs">The constructor args.</param>
<param name="interceptors">The interceptors.</param>
<returns></returns>
</member>
<member name="P:Castle.DynamicProxy.ProxyGenerator.ProxyBuilder">
<summary>
Gets the proxy builder instance.
</summary>
<value>The proxy builder.</value>
</member>
<member name="M:Castle.DynamicProxy.RemotableInvocation.Proceed">
<summary>
</summary>
<returns></returns>
</member>
<member name="P:Castle.DynamicProxy.RemotableInvocation.Method">
<summary>
</summary>
</member>
<member name="P:Castle.DynamicProxy.RemotableInvocation.MethodInvocationTarget">
<summary>
For interface proxies, this will point to the
<see cref="T:System.Reflection.MethodInfo"/> on the target class
</summary>
</member>
</members>
</doc>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

17105
lib/Net/1.1/Quartz.xml Normal file

File diff suppressed because it is too large Load Diff

17105
lib/Net/2.0/Quartz.xml Normal file

File diff suppressed because it is too large Load Diff