/// <summary> /// Add /// </summary> /// <param name="expression"></param> /// <param name="newValue"></param> /// <typeparam name="TObject"></typeparam> /// <typeparam name="TProperty"></typeparam> /// <typeparam name="TValue"></typeparam> public void Add <TObject, TProperty, TValue>(Expression <Func <TObject, TProperty> > expression, TValue newValue) where TObject : IDomainObject { var name = Lambdas.GetName(expression); var desc = Reflections.GetDescription(Lambdas.GetMember(expression)); var value = Lambdas.GetValue(expression); Add(name, desc, value.CastTo <TValue>(), newValue); }
/// <summary> /// 添加描述 /// </summary> /// <typeparam name="T">实体类型</typeparam> /// <typeparam name="TProperty">属性类型</typeparam> /// <param name="expression">属性表达式,范例:t => t.Name</param> public void Add <T, TProperty>(Expression <Func <T, TProperty> > expression) { var member = Lambdas.GetMember(expression); var description = Reflection.Reflections.GetDisplayNameOrDescription(member); var value = member.GetPropertyValue(this); if (Reflection.Reflections.IsBool(member)) { value = Conv.ToBool(value).Description(); } Add(description, value); }