Пример #1
0
        /// <summary>
        /// 属性日志追加
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <typeparam name="TP"></typeparam>
        /// <param name="model"></param>
        /// <param name="expression"></param>
        /// <param name="propName"></param>
        /// <returns></returns>
        public static LogPropInfo <T> AddProp <T, TP>(this T model, Expression <Func <T, TP> > expression, string propName = null)
        {
            var value    = Expression.Invoke(expression);
            var propInfo = new LogPropInfo <T>(model);

            propInfo.AddProp <T, TP>(expression, propName);
            return(propInfo);
        }
Пример #2
0
        public static LogPropInfo <T> AddProp <T, TP>(this LogPropInfo <T> propInfo, Expression <Func <T, TP> > expression, string propName = null)
        {
            var value = Expression.Invoke(expression);

            if (!string.IsNullOrWhiteSpace(propName))
            {
                propInfo[propName] = value;
                return(propInfo);
            }


            if (expression is MemberExpression)
            {
                var exp = expression as MemberExpression;
                propInfo[propName ?? exp.Member.Name] = value;
                return(propInfo);
            }


            propInfo[$"unkown_{expression.Name}"] = value;
            return(propInfo);
        }