コード例 #1
0
ファイル: ProxyFactory.cs プロジェクト: netcasewqs/nlite
        /// <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>();
        }
コード例 #2
0
ファイル: ProxyFactory.cs プロジェクト: saber-wang/nlite
        /// <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>();
        }
コード例 #3
0
ファイル: ProxyFactory.cs プロジェクト: mtamme/NProxy
        /// <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>();
        }
コード例 #4
0
ファイル: ProxyGenerator.cs プロジェクト: netcasewqs/nlite
        /// <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>();
        }
コード例 #5
0
        /// <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>();
        }
コード例 #6
0
        /// <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>();
        }
コード例 #7
0
ファイル: ProxyFactory.cs プロジェクト: mtamme/NProxy
 /// <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)
 {
 }
コード例 #8
0
 /// <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)
 {
 }