/// <summary> /// Creates a new instance of FluentPropertyValue<TSource> based on a previous instance and adds a property name to it. /// </summary> /// <param name="fluentPropertyValue">Previous instance of FluentPropertyValue<TSource></param> /// <param name="propertyName">Property name to be added</param> public FluentPropertyValue(FluentPropertyValue <TSource> fluentPropertyValue, string propertyName) { ClassInstance = fluentPropertyValue.ClassInstance; PropertiesList = new List <string>(); PropertiesList.AddRange(fluentPropertyValue.PropertiesList); PropertiesList.Add(propertyName); }
/// <summary> /// Adds a property to be stringified. /// </summary> public static FluentPropertyValue <TSource> AndThisProperty <TSource, TProperty>(this FluentPropertyValue <TSource> fluentPropertuValue, Expression <Func <TSource, TProperty> > propertyLambda) { string propertyName = GetName(propertyLambda); return(new FluentPropertyValue <TSource>(fluentPropertuValue, propertyName)); }