コード例 #1
0
        /// <summary>
        /// Default constructor
        /// </summary>
        /// <param name="property"></param>
        /// <param name="targetStrategy"></param>
        /// <param name="exportCondition"></param>
        public PropertyExportStrategy(PropertyInfo property,
			IExportStrategy targetStrategy,
			IExportCondition exportCondition)
            : base(property.PropertyType)
        {
            this.propertyInfo = property;
            this.strategy = targetStrategy;
            this.exportCondition = exportCondition;
        }
コード例 #2
0
        /// <summary>
        /// Add a condition to the export
        /// </summary>
        /// <param name="exportCondition"></param>
        public virtual IConfigurableExportStrategy AddCondition(IExportCondition exportCondition)
        {
            if (_locked)
            {
                throw new ArgumentException("Strategy is locked, can't be changed");
            }

            _conditions = _conditions.Add(exportCondition);

            return this;
        }
コード例 #3
0
        /// <summary>
        /// Add a condition to the export
        /// </summary>
        /// <param name="exportCondition"></param>
        public virtual void AddCondition(IExportCondition exportCondition)
        {
            if (_locked)
            {
                throw new ArgumentException("Strategy is locked, can't be changed");
            }

            _conditions = _conditions.Add(exportCondition);
        }
コード例 #4
0
        /// <summary>
        /// Export condition for the property
        /// </summary>
        /// <param name="exportCondition">export condition</param>
        /// <returns>configuration object</returns>
        public IFluentExportPropertyConfiguration WithCondition(IExportCondition exportCondition)
        {
            exportPropertyInfo.ExportCondition = exportCondition;

            return this;
        }