// PUBLIC METHODS /////////////////////////////////////////////////// #region Extension Methods public static IAttributesBuilder <TParentBuilder> AddAttribute <TParentBuilder, TProperty>(this IAttributesBuilder <TParentBuilder> attributesBuilder, string propertyName, TProperty propertyValue) { Contract.Requires(attributesBuilder != null); Contract.Requires(String.IsNullOrWhiteSpace(propertyName) == false); var attribute = new AttributeProxy <TProperty>(propertyName, propertyValue); return(attributesBuilder.AddAttribute(attribute)); }
public static IAttributesBuilder <TParentBuilder, TResource> AddAttribute <TParentBuilder, TResource, TProperty>(this IAttributesBuilder <TParentBuilder, TResource> attributesBuilder, Expression <Func <TResource, object> > propertySelector, TProperty propertyValue) where TResource : class { Contract.Requires(attributesBuilder != null); Contract.Requires(propertySelector != null); var propertyName = StaticReflection.GetMemberName(propertySelector); var attribute = new AttributeProxy <TProperty>(propertyName, propertyValue); return(attributesBuilder.AddAttribute(attribute)); }