Mercurial > pub > bltoolkit
view Source/Mapping/EnumeratorMapper.cs @ 8:a34cfdde80d6
removed strong signing
added FrameworkPathOverride for linux builds
author | cin |
---|---|
date | Wed, 29 Nov 2017 12:43:52 +0300 |
parents | f990fcb411a9 |
children |
line wrap: on
line source
using System; using System.Collections; using BLToolkit.Reflection; namespace BLToolkit.Mapping { public class EnumeratorMapper : IMapDataSourceList { public EnumeratorMapper(IEnumerator enumerator) { _enumerator = enumerator; } private readonly IEnumerator _enumerator; private Type _objectType; #region IMapDataSourceList Members public virtual void InitMapping(InitContext initContext) { _enumerator.Reset(); } public virtual bool SetNextDataSource(InitContext initContext) { if (initContext == null) throw new ArgumentNullException("initContext"); if (_enumerator.MoveNext() == false) return false; object sourceObject = _enumerator.Current; if (_objectType != sourceObject.GetType()) { _objectType = sourceObject.GetType(); initContext.DataSource = initContext.MappingSchema.GetObjectMapper(_objectType); } initContext.SourceObject = sourceObject; return true; } public virtual void EndMapping(InitContext initContext) { } #endregion } }