/// <summary> /// 对数据源中的原有成员的名称和值进行筛选,并将满足筛选的结果写入到数据写入器中。 /// </summary> /// <param name="dataWriter">数据写入器</param> /// <param name="valueFilter">值筛选器</param> public void OnReadAll(IDataWriter <string> dataWriter, IValueFilter <string> valueFilter) { var filter = new DataFilterWriter <string>(dataWriter, valueFilter); if ((flags & XBindingFlags.SkipDefaultValue) != 0) { var valueCopyer = new ValueCopyer(); foreach (var item in fields) { item.OnReadValue(obj, valueCopyer); if (!valueCopyer.IsEmptyValue()) { valueCopyer.WriteTo(filter[item.Name]); } } } else { foreach (var item in fields) { item.OnReadValue(obj, filter[item.Name]); } } }
/// <summary> /// 对数据源中的原有成员的名称和值进行筛选,并将满足筛选的结果写入到数据写入器中。 /// </summary> /// <param name="dataWriter">数据写入器</param> /// <param name="valueFilter">值筛选器</param> public void OnReadAll(IDataWriter <string> dataWriter, IValueFilter <string> valueFilter) { var dataFilterWriter = new DataFilterWriter <string>(dataWriter, valueFilter); foreach (var item in rFields) { item.WriteTo(this, dataFilterWriter); } }
/// <summary> /// 对数据源中的原有成员的名称和值进行筛选,并将满足筛选的结果写入到数据写入器中。 /// </summary> /// <param name="dataWriter">数据写入器</param> /// <param name="valueFilter">值筛选器</param> public void OnReadAll(IDataWriter <string> dataWriter, IValueFilter <string> valueFilter) { var filter = new DataFilterWriter <string>(dataWriter, valueFilter); OnReadAll(filter); }