User: xtoff
Date: 2009/11/17 06:34 AM

Modified:
 /InversionOfControl/trunk/lib/mono-3.5/
  Castle.Core.dll, Castle.Core.xml, Castle.DynamicProxy2.dll, 
Castle.DynamicProxy2.xml
 /InversionOfControl/trunk/lib/net-3.5/
  Castle.Core.dll, Castle.Core.xml, Castle.DynamicProxy2.dll, 
Castle.DynamicProxy2.xml
 /InversionOfControl/trunk/src/Castle.MicroKernel/Resolvers/
  ILazyComponentLoader.cs

Log:
 - updated Dynamic Proxy to latest trunk.
 - minor docs update for ILazyComponentLoader

File Changes:

Directory: /InversionOfControl/trunk/src/Castle.MicroKernel/Resolvers/
======================================================================

File [modified]: ILazyComponentLoader.cs
Delta lines: +0 -0
===================================================================

Directory: /InversionOfControl/trunk/lib/mono-3.5/
==================================================

File [modified]: Castle.Core.dll
Delta lines: None
None
File [modified]: Castle.Core.xml
Delta lines: +64 -17
===================================================================

--- InversionOfControl/trunk/lib/mono-3.5/Castle.DynamicProxy2.xml      
2009-11-16 12:05:50 UTC (rev 6336)
+++ InversionOfControl/trunk/lib/mono-3.5/Castle.DynamicProxy2.xml      
2009-11-17 13:33:57 UTC (rev 6337)
@@ -167,12 +167,6 @@
             This constructor is important to allow proxies to be XML 
serializable
             </para></summary>
         </member>
-        <member 
name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.CreateInitializeCacheMethodBody(System.Type,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.SafeAddMapping(System.Type,Castle.DynamicProxy.Contributors.ITypeContributor,System.Collections.Generic.IDictionary{System.Type,Castle.DynamicProxy.Contributors.ITypeContributor})">
             <summary>
             It is safe to add mapping (no mapping for the interface exists)
@@ -184,11 +178,11 @@
             <param name="mapping">
             </param>
         </member>
-        <member 
name="M:Castle.DynamicProxy.Generators.CacheKey.#ctor(System.Type,System.Type[],Castle.DynamicProxy.ProxyGenerationOptions)">
+        <member 
name="M:Castle.DynamicProxy.Generators.CacheKey.#ctor(System.Reflection.MemberInfo,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="target">Type of the target.</param>
             <param name="interfaces">The interfaces.</param>
             <param name="options">The options.</param>
         </member>
@@ -235,22 +229,14 @@
             <summary>
             </summary>
         </member>
-        <member name="T:Castle.DynamicProxy.Generators.InterfaceGeneratorType">
+        <member 
name="M:Castle.DynamicProxy.Generators.InvocationTypeGenerator.CreateIInvocationConstructor(System.Type,Castle.DynamicProxy.Generators.Emitters.AbstractTypeEmitter,Castle.DynamicProxy.ProxyGenerationOptions)">
             <summary>
-            This is used by the ProxyObjectReference class during 
de-serialiation, to know
-            which generator it should use
-            </summary>
-        </member>
-        <member 
name="M:Castle.DynamicProxy.Generators.InvocationTypeGenerator.CreateIInvocationConstructor(System.Type,Castle.DynamicProxy.Generators.Emitters.NestedClassEmitter,Castle.DynamicProxy.Generators.Emitters.SimpleAST.FieldReference,Castle.DynamicProxy.ProxyGenerationOptions)">
-            <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="proxyGenerationOptions">
             </param>
         </member>
@@ -403,6 +389,24 @@
             pointing to Castle Dynamic Proxy assembly, in assembly containing 
that type, if this is appropriate.</exception>
             <seealso 
cref="T:Castle.DynamicProxy.Generators.ClassProxyGenerator" />
         </member>
+        <member 
name="M:Castle.DynamicProxy.IProxyBuilder.CreateClassProxyType(System.Type,System.Type[],Castle.DynamicProxy.ProxyGenerationOptions)">
+            <summary>
+            Creates a proxy type for given <paramref name="classToProxy" />, 
implementing <paramref name="additionalInterfacesToProxy" />, using <paramref 
name="options" /> provided.
+            </summary>
+            <param name="classToProxy">The class type to proxy.</param>
+            <param name="additionalInterfacesToProxy">Additional interface 
types to proxy.</param>
+            <param name="options">The proxy generation options.</param>
+            <returns>The generated proxy type.</returns>
+            <remarks>
+            Implementers should return a proxy type for the specified class 
and interfaces.
+            Additional interfaces should be only 'mark' interfaces, that is, 
they should work like interface proxy without target. (See <see 
cref="M:Castle.DynamicProxy.IProxyBuilder.CreateInterfaceProxyTypeWithoutTarget(System.Type,System.Type[],Castle.DynamicProxy.ProxyGenerationOptions)"
 /> method.)
+            </remarks>
+            <exception 
cref="T:Castle.DynamicProxy.Generators.GeneratorException">Thrown when 
<paramref name="classToProxy" /> or any of <paramref 
name="additionalInterfacesToProxy" /> is a generic type definition.</exception>
+            <exception 
cref="T:Castle.DynamicProxy.Generators.GeneratorException">Thrown when 
<paramref name="classToProxy" /> or any of <paramref 
name="additionalInterfacesToProxy" /> is not public.
+            Note that to avoid this exception, you can mark offending type 
internal, and define <see 
cref="T:System.Runtime.CompilerServices.InternalsVisibleToAttribute" />
+            pointing to Castle Dynamic Proxy assembly, in assembly containing 
that type, if this is appropriate.</exception>
+            <seealso 
cref="T:Castle.DynamicProxy.Generators.ClassProxyGenerator" />
+        </member>
         <member 
name="M:Castle.DynamicProxy.IProxyBuilder.CreateInterfaceProxyTypeWithTarget(System.Type,System.Type[],System.Type,Castle.DynamicProxy.ProxyGenerationOptions)">
             <summary>
             Creates a proxy type that proxies calls to <paramref 
name="interfaceToProxy" /> members on <paramref name="targetType" />, 
implementing <paramref name="additionalInterfacesToProxy" />, using <paramref 
name="options" /> provided.
@@ -911,6 +915,49 @@
             As such caller should expect any type of exception that given <see 
cref="T:Castle.DynamicProxy.IProxyBuilder" /> implementation may throw.
             </remarks>
         </member>
+        <member 
name="M:Castle.DynamicProxy.ProxyGenerator.CreateInterfaceProxyWithTargetInterface``1(``0,Castle.Core.Interceptor.IInterceptor[])">
+            <summary>
+            Creates proxy object intercepting calls to members of interface 
<typeparamref name="TInterface" /> on <paramref name="target" /> object with 
given <paramref name="interceptors" />.
+            Interceptors can use <see 
cref="T:Castle.Core.Interceptor.IChangeProxyTarget" /> interface to provide 
other target for method invocation than default <paramref name="target" />.
+            </summary>
+            <typeparam name="TInterface">Type of the interface implemented by 
<paramref name="target" /> which will be proxied.</typeparam>
+            <param name="target">The target object, calls to which will be 
intercepted.</param>
+            <param name="interceptors">The interceptors called during the 
invocation of proxied methods.</param>
+            <returns>
+            Object proxying calls to members of <typeparamref 
name="TInterface" /> type on <paramref name="target" /> object or alternative 
implementation swapped at runtime by an interceptor.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">Thrown when given 
<paramref name="target" /> object is a null reference (Nothing in Visual 
Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">Thrown when given 
<paramref name="interceptors" /> array is a null reference (Nothing in Visual 
Basic).</exception>
+            <exception cref="T:System.ArgumentException">Thrown when given 
<typeparamref name="TInterface" /> is not an interface type.</exception>
+            <exception cref="T:System.MissingMethodException">Thrown when no 
default constructor exists on actual type of <paramref name="target" /> 
object.</exception>
+            <exception 
cref="T:System.Reflection.TargetInvocationException">Thrown when default 
constructor of actual type of <paramref name="target" /> throws an 
exception.</exception>
+            <remarks>
+            This method uses <see cref="T:Castle.DynamicProxy.IProxyBuilder" 
/> implementation to generate a proxy type.
+            As such caller should expect any type of exception that given <see 
cref="T:Castle.DynamicProxy.IProxyBuilder" /> implementation may throw.
+            </remarks>
+        </member>
+        <member 
name="M:Castle.DynamicProxy.ProxyGenerator.CreateInterfaceProxyWithTargetInterface``1(``0,Castle.DynamicProxy.ProxyGenerationOptions,Castle.Core.Interceptor.IInterceptor[])">
+            <summary>
+            Creates proxy object intercepting calls to members of interface 
<typeparamref name="TInterface" /> on <paramref name="target" /> object with 
given <paramref name="interceptors" />.
+            Interceptors can use <see 
cref="T:Castle.Core.Interceptor.IChangeProxyTarget" /> interface to provide 
other target for method invocation than default <paramref name="target" />.
+            </summary>
+            <typeparam name="TInterface">Type of the interface implemented by 
<paramref name="target" /> which will be proxied.</typeparam>
+            <param name="target">The target object, calls to which will be 
intercepted.</param>
+            <param name="options">The proxy generation options used to 
influence generated proxy type and object.</param>
+            <param name="interceptors">The interceptors called during the 
invocation of proxied methods.</param>
+            <returns>
+            Object proxying calls to members of <typeparamref 
name="TInterface" /> type on <paramref name="target" /> object or alternative 
implementation swapped at runtime by an interceptor.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">Thrown when given 
<paramref name="target" /> object is a null reference (Nothing in Visual 
Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">Thrown when given 
<paramref name="interceptors" /> array is a null reference (Nothing in Visual 
Basic).</exception>
+            <exception cref="T:System.ArgumentException">Thrown when given 
<typeparamref name="TInterface" /> is not an interface type.</exception>
+            <exception cref="T:System.MissingMethodException">Thrown when no 
default constructor exists on actual type of <paramref name="target" /> 
object.</exception>
+            <exception 
cref="T:System.Reflection.TargetInvocationException">Thrown when default 
constructor of actual type of <paramref name="target" /> throws an 
exception.</exception>
+            <remarks>
+            This method uses <see cref="T:Castle.DynamicProxy.IProxyBuilder" 
/> implementation to generate a proxy type.
+            As such caller should expect any type of exception that given <see 
cref="T:Castle.DynamicProxy.IProxyBuilder" /> implementation may throw.
+            </remarks>
+        </member>
         <member 
name="M:Castle.DynamicProxy.ProxyGenerator.CreateInterfaceProxyWithTargetInterface(System.Type,System.Type[],System.Object,Castle.Core.Interceptor.IInterceptor[])">
             <summary>

File [modified]: Castle.DynamicProxy2.dll
Delta lines: None
None
File [modified]: Castle.DynamicProxy2.xml
Delta lines: +33 -0
===================================================================

--- InversionOfControl/trunk/lib/net-3.5/Castle.Core.xml        2009-11-16 
12:05:50 UTC (rev 6336)
+++ InversionOfControl/trunk/lib/net-3.5/Castle.Core.xml        2009-11-17 
13:33:57 UTC (rev 6337)
@@ -239,6 +239,39 @@
             it is illegal to return null, and doing so will result in 
exception.
             </remarks>
         </member>
+        <member name="T:Castle.Core.Interceptor.IChangeProxyTarget">
+            <summary>
+            Exposes means to change target objects of proxies and invocations
+            </summary>
+        </member>
+        <member 
name="M:Castle.Core.Interceptor.IChangeProxyTarget.ChangeInvocationTarget(System.Object)">
+            <summary>
+            Changes the target object (<see 
cref="P:Castle.Core.Interceptor.IInvocation.InvocationTarget"/>) of current 
<see cref="T:Castle.Core.Interceptor.IInvocation"/>.
+            </summary>
+            <param name="target">The new value of target of invocation.</param>
+            <remarks>
+            Although the method takes <see cref="T:System.Object"/> the actual 
instance must be of type assignable to <see 
cref="P:Castle.Core.Interceptor.IInvocation.TargetType"/>, otherwise an <see 
cref="T:System.InvalidCastException"/> will be thrown.
+            Also while it's technically legal to pass null reference (Nothing 
in Visual Basic) as <paramref name="target"/>, for obvious reasons Dynamic 
Proxy will not be able to call the intercepted method on such target.
+            In this case last interceptor in the pipeline mustn't call <see 
cref="M:Castle.Core.Interceptor.IInvocation.Proceed"/> or a <see 
cref="T:System.NotImplementedException"/> will be throws.
+            Also while it's technically legal to pass proxy itself as 
<paramref name="target"/>, this would create stack overflow.
+            In this case last interceptor in the pipeline mustn't call <see 
cref="M:Castle.Core.Interceptor.IInvocation.Proceed"/> or a <see 
cref="T:System.InvalidOperationException"/> will be throws.
+            </remarks>
+            <exception cref="T:System.InvalidCastException">Thrown when 
<paramref name="target"/> is not assignable to the proxied type.</exception>
+        </member>
+        <member 
name="M:Castle.Core.Interceptor.IChangeProxyTarget.ChangeProxyTarget(System.Object)">
+            <summary>
+            Permanently changes the target object of the proxy. This does not 
affect target of the current invocation.
+            </summary>
+            <param name="target">The new value of target of the proxy.</param>
+            <remarks>
+            Although the method takes <see cref="T:System.Object"/> the actual 
instance must be of type assignable to proxy's target type, otherwise an <see 
cref="T:System.InvalidCastException"/> will be thrown.
+            Also while it's technically legal to pass null reference (Nothing 
in Visual Basic) as <paramref name="target"/>, for obvious reasons Dynamic 
Proxy will not be able to call the intercepted method on such target.
+            In this case last interceptor in the pipeline mustn't call <see 
cref="M:Castle.Core.Interceptor.IInvocation.Proceed"/> or a <see 
cref="T:System.NotImplementedException"/> will be throws.
+            Also while it's technically legal to pass proxy itself as 
<paramref name="target"/>, this would create stack overflow.
+            In this case last interceptor in the pipeline mustn't call <see 
cref="M:Castle.Core.Interceptor.IInvocation.Proceed"/> or a <see 
cref="T:System.InvalidOperationException"/> will be throws.
+            </remarks>
+            <exception cref="T:System.InvalidCastException">Thrown when 
<paramref name="target"/> is not assignable to the proxied type.</exception>
+        </member>
         <member name="T:Castle.Core.Interceptor.IInterceptor">
             <summary>

Directory: /InversionOfControl/trunk/lib/net-3.5/
=================================================

File [modified]: Castle.Core.dll
Delta lines: None
None
File [modified]: Castle.Core.xml
Delta lines: +65 -17
===================================================================

--- InversionOfControl/trunk/lib/net-3.5/Castle.DynamicProxy2.xml       
2009-11-16 12:05:50 UTC (rev 6336)
+++ InversionOfControl/trunk/lib/net-3.5/Castle.DynamicProxy2.xml       
2009-11-17 13:33:57 UTC (rev 6337)
@@ -155,12 +155,6 @@
             </para>
             </summary>
         </member>
-        <member 
name="M:Castle.DynamicProxy.Generators.BaseProxyGenerator.CreateInitializeCacheMethodBody(System.Type,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.SafeAddMapping(System.Type,Castle.DynamicProxy.Contributors.ITypeContributor,System.Collections.Generic.IDictionary{System.Type,Castle.DynamicProxy.Contributors.ITypeContributor})">
             <summary>
             It is safe to add mapping (no mapping for the interface exists)
@@ -169,11 +163,11 @@
             <param name="interface"></param>
             <param name="mapping"></param>
         </member>
-        <member 
name="M:Castle.DynamicProxy.Generators.CacheKey.#ctor(System.Type,System.Type[],Castle.DynamicProxy.ProxyGenerationOptions)">
+        <member 
name="M:Castle.DynamicProxy.Generators.CacheKey.#ctor(System.Reflection.MemberInfo,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="target">Type of the target.</param>
             <param name="interfaces">The interfaces.</param>
             <param name="options">The options.</param>
         </member>
@@ -218,14 +212,13 @@
             </summary>
             <returns>New naming scope.</returns>
         </member>
-        <member 
name="M:Castle.DynamicProxy.Generators.InvocationTypeGenerator.CreateIInvocationConstructor(System.Type,Castle.DynamicProxy.Generators.Emitters.NestedClassEmitter,Castle.DynamicProxy.Generators.Emitters.SimpleAST.FieldReference,Castle.DynamicProxy.ProxyGenerationOptions)">
+        <member 
name="M:Castle.DynamicProxy.Generators.InvocationTypeGenerator.CreateIInvocationConstructor(System.Type,Castle.DynamicProxy.Generators.Emitters.AbstractTypeEmitter,Castle.DynamicProxy.ProxyGenerationOptions)">
             <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="proxyGenerationOptions"></param>
         </member>
         <member 
name="T:Castle.DynamicProxy.Generators.InterfaceProxyWithTargetGenerator">
@@ -233,12 +226,6 @@
             
             </summary>
         </member>
-        <member name="T:Castle.DynamicProxy.Generators.InterfaceGeneratorType">
-            <summary>
-            This is used by the ProxyObjectReference class during 
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
@@ -338,7 +325,7 @@
             Invoked by the generation process to notify that the whole process 
has completed.
             </summary>
         </member>
-        <member 
name="M:Castle.DynamicProxy.AttributeUtil.AddDisassembler``1(Castle.Core.Interceptor.IAttributeDisassembler)">
+        <member 
name="M:Castle.DynamicProxy.AttributeUtil.AddDisassembler``1(Castle.DynamicProxy.IAttributeDisassembler)">
             <summary>
             Registers custom disassembler to handle disassembly of specified 
type of attributes.
             </summary>
@@ -402,6 +389,24 @@
             pointing to Castle Dynamic Proxy assembly, in assembly containing 
that type, if this is appropriate.</exception>
             <seealso 
cref="T:Castle.DynamicProxy.Generators.ClassProxyGenerator"/>
         </member>
+        <member 
name="M:Castle.DynamicProxy.IProxyBuilder.CreateClassProxyType(System.Type,System.Type[],Castle.DynamicProxy.ProxyGenerationOptions)">
+            <summary>
+            Creates a proxy type for given <paramref name="classToProxy"/>, 
implementing <paramref name="additionalInterfacesToProxy"/>, using <paramref 
name="options"/> provided.
+            </summary>
+            <param name="classToProxy">The class type to proxy.</param>
+            <param name="additionalInterfacesToProxy">Additional interface 
types to proxy.</param>
+            <param name="options">The proxy generation options.</param>
+            <returns>The generated proxy type.</returns>
+            <remarks>
+            Implementers should return a proxy type for the specified class 
and interfaces.
+            Additional interfaces should be only 'mark' interfaces, that is, 
they should work like interface proxy without target. (See <see 
cref="M:Castle.DynamicProxy.IProxyBuilder.CreateInterfaceProxyTypeWithoutTarget(System.Type,System.Type[],Castle.DynamicProxy.ProxyGenerationOptions)"/>
 method.)
+            </remarks>
+            <exception 
cref="T:Castle.DynamicProxy.Generators.GeneratorException">Thrown when 
<paramref name="classToProxy"/> or any of <paramref 
name="additionalInterfacesToProxy"/> is a generic type definition.</exception>
+            <exception 
cref="T:Castle.DynamicProxy.Generators.GeneratorException">Thrown when 
<paramref name="classToProxy"/> or any of <paramref 
name="additionalInterfacesToProxy"/> is not public.
+            Note that to avoid this exception, you can mark offending type 
internal, and define <see 
cref="T:System.Runtime.CompilerServices.InternalsVisibleToAttribute"/> 
+            pointing to Castle Dynamic Proxy assembly, in assembly containing 
that type, if this is appropriate.</exception>
+            <seealso 
cref="T:Castle.DynamicProxy.Generators.ClassProxyGenerator"/>
+        </member>
         <member 
name="M:Castle.DynamicProxy.IProxyBuilder.CreateInterfaceProxyTypeWithTarget(System.Type,System.Type[],System.Type,Castle.DynamicProxy.ProxyGenerationOptions)">
             <summary>
             Creates a proxy type that proxies calls to <paramref 
name="interfaceToProxy"/> members on <paramref name="targetType"/>, 
implementing <paramref name="additionalInterfacesToProxy"/>, using <paramref 
name="options"/> provided.
@@ -889,6 +894,49 @@
             As such caller should expect any type of exception that given <see 
cref="T:Castle.DynamicProxy.IProxyBuilder"/> implementation may throw.
             </remarks>
         </member>
+        <member 
name="M:Castle.DynamicProxy.ProxyGenerator.CreateInterfaceProxyWithTargetInterface``1(``0,Castle.Core.Interceptor.IInterceptor[])">
+            <summary>
+            Creates proxy object intercepting calls to members of interface 
<typeparamref name="TInterface"/> on <paramref name="target"/> object with 
given <paramref name="interceptors"/>.
+            Interceptors can use <see 
cref="T:Castle.Core.Interceptor.IChangeProxyTarget"/> interface to provide 
other target for method invocation than default <paramref name="target"/>.
+            </summary>
+            <typeparam name="TInterface">Type of the interface implemented by 
<paramref name="target"/> which will be proxied.</typeparam>
+            <param name="target">The target object, calls to which will be 
intercepted.</param>
+            <param name="interceptors">The interceptors called during the 
invocation of proxied methods.</param>
+            <returns>
+            Object proxying calls to members of <typeparamref 
name="TInterface"/> type on <paramref name="target"/> object or alternative 
implementation swapped at runtime by an interceptor.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">Thrown when given 
<paramref name="target"/> object is a null reference (Nothing in Visual 
Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">Thrown when given 
<paramref name="interceptors"/> array is a null reference (Nothing in Visual 
Basic).</exception>
+            <exception cref="T:System.ArgumentException">Thrown when given 
<typeparamref name="TInterface"/> is not an interface type.</exception>
+            <exception cref="T:System.MissingMethodException">Thrown when no 
default constructor exists on actual type of <paramref name="target"/> 
object.</exception>
+            <exception 
cref="T:System.Reflection.TargetInvocationException">Thrown when default 
constructor of actual type of <paramref name="target"/> throws an 
exception.</exception>
+            <remarks>
+            This method uses <see cref="T:Castle.DynamicProxy.IProxyBuilder"/> 
implementation to generate a proxy type.
+            As such caller should expect any type of exception that given <see 
cref="T:Castle.DynamicProxy.IProxyBuilder"/> implementation may throw.
+            </remarks>
+        </member>
+        <member 
name="M:Castle.DynamicProxy.ProxyGenerator.CreateInterfaceProxyWithTargetInterface``1(``0,Castle.DynamicProxy.ProxyGenerationOptions,Castle.Core.Interceptor.IInterceptor[])">
+            <summary>
+            Creates proxy object intercepting calls to members of interface 
<typeparamref name="TInterface"/> on <paramref name="target"/> object with 
given <paramref name="interceptors"/>.
+            Interceptors can use <see 
cref="T:Castle.Core.Interceptor.IChangeProxyTarget"/> interface to provide 
other target for method invocation than default <paramref name="target"/>.
+            </summary>
+            <typeparam name="TInterface">Type of the interface implemented by 
<paramref name="target"/> which will be proxied.</typeparam>
+            <param name="target">The target object, calls to which will be 
intercepted.</param>
+            <param name="options">The proxy generation options used to 
influence generated proxy type and object.</param>
+            <param name="interceptors">The interceptors called during the 
invocation of proxied methods.</param>
+            <returns>
+            Object proxying calls to members of <typeparamref 
name="TInterface"/> type on <paramref name="target"/> object or alternative 
implementation swapped at runtime by an interceptor.
+            </returns>
+            <exception cref="T:System.ArgumentNullException">Thrown when given 
<paramref name="target"/> object is a null reference (Nothing in Visual 
Basic).</exception>
+            <exception cref="T:System.ArgumentNullException">Thrown when given 
<paramref name="interceptors"/> array is a null reference (Nothing in Visual 
Basic).</exception>
+            <exception cref="T:System.ArgumentException">Thrown when given 
<typeparamref name="TInterface"/> is not an interface type.</exception>
+            <exception cref="T:System.MissingMethodException">Thrown when no 
default constructor exists on actual type of <paramref name="target"/> 
object.</exception>
+            <exception 
cref="T:System.Reflection.TargetInvocationException">Thrown when default 
constructor of actual type of <paramref name="target"/> throws an 
exception.</exception>
+            <remarks>
+            This method uses <see cref="T:Castle.DynamicProxy.IProxyBuilder"/> 
implementation to generate a proxy type.
+            As such caller should expect any type of exception that given <see 
cref="T:Castle.DynamicProxy.IProxyBuilder"/> implementation may throw.
+            </remarks>
+        </member>
         <member 
name="M:Castle.DynamicProxy.ProxyGenerator.CreateInterfaceProxyWithTargetInterface(System.Type,System.Type[],System.Object,Castle.Core.Interceptor.IInterceptor[])">
             <summary>

File [modified]: Castle.DynamicProxy2.dll
Delta lines: None
None
File [modified]: Castle.DynamicProxy2.xml
Delta lines: +4 -4
===================================================================

--- 
InversionOfControl/trunk/src/Castle.MicroKernel/Resolvers/ILazyComponentLoader.cs
   2009-11-16 12:05:50 UTC (rev 6336)
+++ 
InversionOfControl/trunk/src/Castle.MicroKernel/Resolvers/ILazyComponentLoader.cs
   2009-11-17 13:33:57 UTC (rev 6337)
@@ -22,9 +22,9 @@
        /// Provides lazy registration capabilities to the container.
        /// </summary>
        /// <remarks>
-       /// When a component is requested from a container, that has not been 
registered
-       /// container loads up all the implementers of this interface and asks 
them in turn
-       /// whethere they can provide that component, until it finds one that 
will.
+       /// When a component is requested from a container and it was not 
registered, 
+       /// container loads up all registered implementers of this interface 
and asks 
+       /// them in turn whethere they can provide that component, until it 
finds one that will.
        /// </remarks>
        public interface ILazyComponentLoader
        {
@@ -35,7 +35,7 @@
                /// <param name="service">Type of requested service or 
null</param>
                /// <returns>Registration that registers component for given 
key and/or service or null.</returns>
                /// <remarks>
-               /// While both key and service can be null reference it is 
guaranteed that at least one of them will not be null.
+               /// While either key or service can be null reference it is 
guaranteed that at least one of them will not be null.
                /// When implementer opts in to provide the requested component 
(by returning not-null registration) it is required
                /// to register component for requested key/service combination 
(when one of the elements is null, it should be ignored as well).

--

You received this message because you are subscribed to the Google Groups 
"Castle Project Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/castle-project-commits?hl=.


Reply via email to