示例#1
0
 public IBuilder AfterConstructionOf(IMemberSetter setter)
 {
     if (setter == null)
     {
         throw new ArgumentNullException("setter");
     }
     AssertBuilderIsntSealed();
     _memberSetters.Insert(0, setter);
     return(this);
 }
示例#2
0
 internal Boolean TryMapping(IMemberGetter getter, MemberInfo[] miDsts, bool ignoreMap = false, bool useAutoMapper = false)
 {
     foreach (MemberInfo miDst in miDsts)
     {
         IMemberSetter setter = MemberSetterCreator.For(miDst);
         if (setter == null)
         {
             continue;
         }
         if (setter.SetterType.IsAssignableFrom(getter.GetterType))
         {
             GettersAndSetters.Add(new GetterAndSetter(getter, setter));
         }
         else if (useAutoMapper)
         {
             GettersAndSetters.Add(new MapperGetterAndSetter(getter, setter, AutoMapper.Build(getter.GetterType, setter.SetterType)));
         }
         return(true);
     }
     return(false);
 }
        internal Boolean TryMapping(MemberInfo miSrc, MemberInfo[] miDsts, bool ignoreMap = false, bool useAutoMapper = false)
        {
            IMemberGetter getter = CreateGetter(miSrc, ignoreMap);

            if (getter == null)
            {
                return(false);
            }
            foreach (MemberInfo miDst in miDsts)
            {
                IMemberSetter setter = null;
                if (miDst.MemberType == MemberTypes.Property)
                {
                    setter = new PropertySetter((PropertyInfo)miDst);
                }
                else if (miDst.MemberType == MemberTypes.Field)
                {
                    setter = new FieldSetter((FieldInfo)miDst);
                }

                if (setter == null)
                {
                    return(false);
                }
                if (setter.SetterType.IsAssignableFrom(getter.GetterType))
                {
                    GettersAndSetters.Add(new GetterAndSetter(getter, setter));
                }
                else if (useAutoMapper)
                {
                    GettersAndSetters.Add(new MapperGetterAndSetter(getter, setter, AutoMapper.Build(getter.GetterType, setter.SetterType)));
                }
                return(true);
            }
            return(false);
        }
 public MapperGetterAndSetter(IMemberGetter getter, IMemberSetter setter, IMapper mapper)
 {
     Getter = getter;
     Setter = setter;
     Mapper = mapper;
 }
 public GetterAndSetter(IMemberGetter getter, IMemberSetter setter)
 {
     Getter = getter;
     Setter = setter;
 }
示例#6
0
 public IBuilder AfterConstructionOf(IMemberSetter setter)
 {
     throw new NotImplementedException();
 }
示例#7
0
 public IBuilder AfterConstructionOf(IMemberSetter setter)
 {
     return(_parent.AfterConstructionOf(setter));
 }
示例#8
0
 public IBuilder AfterConstructionOf(IMemberSetter setter)
 {
     throw new BuilderSealedException();
 }