/// <summary> /// Creates a new instance of the method builder. /// </summary> /// <param name="typeBuilder">The type builder to use.</param> /// <param name="aopProxyGenerator"> /// The <see cref="IAopProxyTypeGenerator"/> implementation to use. /// </param> /// <param name="targetMethods"> /// /// </param> /// <param name="index">index of the introduction to delegate call to</param> public IntroductionProxyMethodBuilder( TypeBuilder typeBuilder, IAopProxyTypeGenerator aopProxyGenerator, IDictionary targetMethods, int index) : base(typeBuilder, aopProxyGenerator, true, targetMethods) { this.index = index; }
/// <summary> /// Creates a new instance of the method builder. /// </summary> /// <param name="typeBuilder">The type builder to use.</param> /// <param name="aopProxyGenerator"> /// The <see cref="IAopProxyTypeGenerator"/> implementation to use. /// </param> /// <param name="explicitImplementation"> /// <see langword="true"/> if the interface is to be /// implemented explicitly; otherwise <see langword="false"/>. /// </param> /// <param name="targetMethods"> /// The dictionary to cache the list of target /// <see cref="System.Reflection.MethodInfo"/>s. /// </param> /// <param name="onProxyTargetMethods"> /// The dictionary to cache the list of target /// <see cref="System.Reflection.MethodInfo"/>s defined on the proxy. /// </param> protected AbstractAopProxyMethodBuilder( TypeBuilder typeBuilder, IAopProxyTypeGenerator aopProxyGenerator, bool explicitImplementation, IDictionary targetMethods, IDictionary onProxyTargetMethods) : base(typeBuilder, aopProxyGenerator, explicitImplementation) { this.aopProxyGenerator = aopProxyGenerator; this.targetMethods = targetMethods; this.onProxyTargetMethods = onProxyTargetMethods; }
/// <summary> /// Creates a new instance of the method builder. /// </summary> /// <param name="typeBuilder">The type builder to use.</param> /// <param name="aopProxyGenerator"> /// The <see cref="IAopProxyTypeGenerator"/> implementation to use. /// </param> /// <param name="targetMethods"> /// The dictionary to cache the list of target /// <see cref="System.Reflection.MethodInfo"/>s. /// </param> /// <param name="onProxyTargetMethods"> /// The dictionary to cache the list of target /// <see cref="System.Reflection.MethodInfo"/>s defined on the proxy. /// </param> public BaseAopProxyMethodBuilder( TypeBuilder typeBuilder, IAopProxyTypeGenerator aopProxyGenerator, IDictionary targetMethods, IDictionary onProxyTargetMethods) : base(typeBuilder, aopProxyGenerator, false, targetMethods, onProxyTargetMethods) { }
/// <summary> /// Creates a new instance of the method builder. /// </summary> /// <param name="typeBuilder">The type builder to use.</param> /// <param name="aopProxyGenerator"> /// The <see cref="IAopProxyTypeGenerator"/> implementation to use. /// </param> public IAdvisedProxyMethodBuilder( TypeBuilder typeBuilder, IAopProxyTypeGenerator aopProxyGenerator) : base(typeBuilder, aopProxyGenerator, true) { this._aopProxyGenerator = aopProxyGenerator; }
/// <summary> /// Creates a new instance of the method builder. /// </summary> /// <param name="typeBuilder">The type builder to use.</param> /// <param name="aopProxyGenerator"> /// The <see cref="IAopProxyTypeGenerator"/> implementation to use. /// </param> /// <param name="explicitImplementation"> /// <see langword="true"/> if the interface is to be /// implemented explicitly; otherwise <see langword="false"/>. /// </param> /// <param name="targetMethods"> /// The dictionary to cache the list of target /// <see cref="System.Reflection.MethodInfo"/>s. /// </param> public TargetAopProxyMethodBuilder(TypeBuilder typeBuilder, IAopProxyTypeGenerator aopProxyGenerator, bool explicitImplementation, IDictionary targetMethods) : base(typeBuilder, aopProxyGenerator, explicitImplementation, targetMethods) { }
/// <summary> /// Creates a new instance of the method builder. /// </summary> /// <param name="typeBuilder">The type builder to use.</param> /// <param name="aopProxyGenerator"> /// The <see cref="IAopProxyTypeGenerator"/> implementation to use. /// </param> /// <param name="explicitImplementation"> /// <see langword="true"/> if the interface is to be /// implemented explicitly; otherwise <see langword="false"/>. /// </param> /// <param name="targetMethods"> /// The dictionary to cache the list of target /// <see cref="System.Reflection.MethodInfo"/>s. /// </param> protected AbstractAopProxyMethodBuilder( TypeBuilder typeBuilder, IAopProxyTypeGenerator aopProxyGenerator, bool explicitImplementation, IDictionary targetMethods) : this(typeBuilder, aopProxyGenerator, explicitImplementation, targetMethods, new Hashtable()) { }