/// <summary> /// Initializes a new instance of the <see cref="ProxyFactory"/> class. /// </summary> /// <param name="strongNamedAssembly"></param> /// <param name="canSaveAssembly"></param> /// <param name="interceptionFilter">The interception filter.</param> public ProxyFactory(bool strongNamedAssembly = false,bool canSaveAssembly = false, IInterceptionFilter interceptionFilter = null) { _typeBuilderFactory = new ProxyTypeBuilderFactory(strongNamedAssembly, canSaveAssembly); if (interceptionFilter == null) interceptionFilter = new NonInterceptedInterceptionFilter(); _interceptionFilter = interceptionFilter; _proxyTemplateCache = new LockOnWriteCache<IProxyDefinition, IProxyTemplate>(); }
/// <summary> /// Initializes a new instance of the <see cref="ProxyFactory"/> class. /// </summary> /// <param name="strongNamedAssembly"></param> /// <param name="canSaveAssembly"></param> /// <param name="interceptionFilter">The interception filter.</param> public ProxyFactory(bool strongNamedAssembly = false, bool canSaveAssembly = false, IInterceptionFilter interceptionFilter = null) { _typeBuilderFactory = new ProxyTypeBuilderFactory(strongNamedAssembly, canSaveAssembly); if (interceptionFilter == null) { interceptionFilter = new NonInterceptedInterceptionFilter(); } _interceptionFilter = interceptionFilter; _proxyTemplateCache = new LockOnWriteCache <IProxyDefinition, IProxyTemplate>(); }
/// <summary> /// Initializes a new instance of the <see cref="ProxyFactory"/> class. /// </summary> /// <param name="typeBuilderFactory">The type builder factory.</param> /// <param name="interceptionFilter">The interception filter.</param> internal ProxyFactory(ITypeBuilderFactory typeBuilderFactory, IInterceptionFilter interceptionFilter) { if (typeBuilderFactory == null) throw new ArgumentNullException("typeBuilderFactory"); if (interceptionFilter == null) throw new ArgumentNullException("interceptionFilter"); _typeBuilderFactory = typeBuilderFactory; _interceptionFilter = interceptionFilter; _proxyTemplateCache = new LockOnWriteCache<IProxyDefinition, IProxyTemplate>(); }
/// <summary> /// Initializes a new instance of the <see cref="ProxyGenerator"/> class. /// </summary> /// <param name="typeBuilder">The type builder.</param> /// <param name="interceptionFilter">The interception filter.</param> public ProxyGenerator(ITypeBuilder typeBuilder, IInterceptionFilter interceptionFilter) { if (typeBuilder == null) throw new ArgumentNullException("typeBuilder"); if (interceptionFilter == null) throw new ArgumentNullException("interceptionFilter"); _typeBuilder = typeBuilder; _interceptionFilter = interceptionFilter; _eventInfos = new List<EventInfo>(); _propertyInfos = new List<PropertyInfo>(); _methodInfos = new List<MethodInfo>(); }
/// <summary> /// Initializes a new instance of the <see cref="ProxyFactory"/> class. /// </summary> /// <param name="typeBuilderFactory">The type builder factory.</param> /// <param name="interceptionFilter">The interception filter.</param> internal ProxyFactory(ITypeBuilderFactory typeBuilderFactory, IInterceptionFilter interceptionFilter) { if (typeBuilderFactory == null) { throw new ArgumentNullException("typeBuilderFactory"); } if (interceptionFilter == null) { throw new ArgumentNullException("interceptionFilter"); } _typeBuilderFactory = typeBuilderFactory; _interceptionFilter = interceptionFilter; _proxyTemplateCache = new LockOnWriteCache <IProxyDefinition, IProxyTemplate>(); }
/// <summary> /// Initializes a new instance of the <see cref="ProxyGenerator"/> class. /// </summary> /// <param name="typeBuilder">The type builder.</param> /// <param name="interceptionFilter">The interception filter.</param> public ProxyGenerator(ITypeBuilder typeBuilder, IInterceptionFilter interceptionFilter) { if (typeBuilder == null) { throw new ArgumentNullException("typeBuilder"); } if (interceptionFilter == null) { throw new ArgumentNullException("interceptionFilter"); } _typeBuilder = typeBuilder; _interceptionFilter = interceptionFilter; _eventInfos = new List <EventInfo>(); _propertyInfos = new List <PropertyInfo>(); _methodInfos = new List <MethodInfo>(); }
/// <summary> /// Initializes a new instance of the <see cref="ProxyFactory"/> class. /// </summary> /// <param name="interceptionFilter">The interception filter.</param> public ProxyFactory(IInterceptionFilter interceptionFilter) : this(new ProxyTypeBuilderFactory(false), interceptionFilter) { }