Ejemplo n.º 1
0
        /// <summary>
        /// Creates the specified arguments
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="filter">The filter</param>
        /// <param name="loggerType">Type of the logger</param>
        /// <param name="canOverrideLoggerType">if set to <c>true</c> [can override logger type]</param>
        /// <returns>T</returns>
        public static T Create <T>(Predicate <MethodInfo> filter = null, LoggerType loggerType = LoggerType.Execution, bool canOverrideLoggerType = true) where T : class
        {
            var interceptor = new LogInterceptor(loggerType, canOverrideLoggerType, filter);
            var proxy       = new ProxyGenerator().CreateClassProxy <T>(interceptor);

            return(proxy);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Creates the specified arguments
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="args">The arguments</param>
        /// <param name="filter">The filter</param>
        /// <param name="loggerType">Type of the logger</param>
        /// <param name="canOverrideLoggerType">if set to <c>true</c> [can override logger type]</param>
        /// <returns>T</returns>
        public static T Create <T>(object[] args, Predicate <MethodInfo> filter = null, LoggerType loggerType = LoggerType.Execution, bool canOverrideLoggerType = true) where T : class
        {
            var interceptor = new LogInterceptor(loggerType, canOverrideLoggerType, filter);
            var proxy       = (T) new ProxyGenerator().CreateClassProxy(typeof(T), ProxyGenerationOptions.Default, args, interceptor);

            return(proxy);
        }