public AddPropertyMap ( IMemberAccessor destProperty, IEnumerable |
||
destProperty | IMemberAccessor | |
resolvers | IEnumerable |
|
return | void |
public TypeMap CreateTypeMap(Type sourceType, Type destinationType, IMappingOptions options, MemberList memberList) { var sourceTypeInfo = GetTypeInfo(sourceType); var destTypeInfo = GetTypeInfo(destinationType); var typeMap = new TypeMap(sourceTypeInfo, destTypeInfo, memberList); foreach (var destProperty in destTypeInfo.GetPublicWriteAccessors()) { var members = new LinkedList<MemberInfo>(); if (MapDestinationPropertyToSource(members, sourceTypeInfo, destProperty.Name, options)) { var resolvers = members.Select(mi => mi.ToMemberGetter()); var destPropertyAccessor = destProperty.ToMemberAccessor(); #if !SILVERLIGHT typeMap.AddPropertyMap(destPropertyAccessor, resolvers); #else typeMap.AddPropertyMap(destPropertyAccessor, resolvers.Cast<IValueResolver>()); #endif } } if (!destinationType.IsAbstract && destinationType.IsClass) { foreach (var destCtor in destTypeInfo.GetConstructors().OrderByDescending(ci => ci.GetParameters().Length)) { if (MapDestinationCtorToSource(typeMap, destCtor, sourceTypeInfo, options)) { break; } } } return typeMap; }
public TypeMap CreateTypeMap(Type sourceType, Type destinationType, IMappingOptions options, MemberList memberList) { var sourceTypeInfo = GetTypeInfo(sourceType); var destTypeInfo = GetTypeInfo(destinationType); var typeMap = new TypeMap(sourceTypeInfo, destTypeInfo, memberList); foreach (var destProperty in destTypeInfo.GetPublicWriteAccessors()) { var members = new LinkedList <MemberInfo>(); if (MapDestinationPropertyToSource(members, sourceTypeInfo, destProperty.Name, options)) { var resolvers = members.Select(mi => mi.ToMemberGetter()); var destPropertyAccessor = destProperty.ToMemberAccessor(); #if !SILVERLIGHT typeMap.AddPropertyMap(destPropertyAccessor, resolvers); #else typeMap.AddPropertyMap(destPropertyAccessor, resolvers.Cast <IValueResolver>()); #endif } } if (!destinationType.IsAbstract && destinationType.IsClass) { foreach (var destCtor in destTypeInfo.GetConstructors().OrderByDescending(ci => ci.GetParameters().Length)) { if (MapDestinationCtorToSource(typeMap, destCtor, sourceTypeInfo, options)) { break; } } } return(typeMap); }
public TypeMap CreateTypeMap(Type sourceType, Type destinationType, ProfileMap options) { var sourceTypeInfo = options.CreateTypeDetails(sourceType); var destTypeInfo = options.CreateTypeDetails(destinationType); var typeMap = new TypeMap(sourceTypeInfo, destTypeInfo, options); foreach (var destProperty in destTypeInfo.PublicWriteAccessors) { var resolvers = new LinkedList <MemberInfo>(); if (MapDestinationPropertyToSource(options, sourceTypeInfo, destProperty.DeclaringType, destProperty.GetMemberType(), destProperty.Name, resolvers)) { typeMap.AddPropertyMap(destProperty, resolvers); } } if (!destinationType.IsAbstract()) { foreach (var destCtor in destTypeInfo.Constructors.OrderByDescending(ci => ci.GetParameters().Length)) { if (MapDestinationCtorToSource(typeMap, destCtor, sourceTypeInfo, options)) { break; } } } return(typeMap); }
public TypeMap CreateTypeMap(Type sourceType, Type destinationType, IProfileConfiguration options, MemberList memberList) { var sourceTypeInfo = new TypeDetails(sourceType, options); var destTypeInfo = new TypeDetails(destinationType, options); var typeMap = new TypeMap(sourceTypeInfo, destTypeInfo, memberList, options); foreach (var destProperty in destTypeInfo.PublicWriteAccessors) { var resolvers = new LinkedList <IMemberGetter>(); if (MapDestinationPropertyToSource(options, sourceTypeInfo, destProperty.DeclaringType, destProperty.GetMemberType(), destProperty.Name, resolvers)) { var destPropertyAccessor = destProperty.ToMemberAccessor(); typeMap.AddPropertyMap(destPropertyAccessor, resolvers); } } if (!destinationType.IsAbstract() && destinationType.IsClass()) { foreach (var destCtor in destTypeInfo.Constructors.OrderByDescending(ci => ci.GetParameters().Length)) { if (MapDestinationCtorToSource(typeMap, destCtor, sourceTypeInfo, options)) { break; } } } return(typeMap); }
public TypeMap CreateTypeMap(Type sourceType, Type destinationType, ProfileMap options, MemberList memberList) { var sourceTypeInfo = options.CreateTypeDetails(sourceType); var destTypeInfo = options.CreateTypeDetails(destinationType); var typeMap = new TypeMap(sourceTypeInfo, destTypeInfo, memberList, options); foreach (var destProperty in destTypeInfo.PublicWriteAccessors) { var resolvers = new LinkedList<MemberInfo>(); if (MapDestinationPropertyToSource(options, sourceTypeInfo, destProperty.DeclaringType, destProperty.GetMemberType(), destProperty.Name, resolvers)) { typeMap.AddPropertyMap(destProperty, resolvers); } } if (!destinationType.IsAbstract() && destinationType.IsClass()) { foreach (var destCtor in destTypeInfo.Constructors.OrderByDescending(ci => ci.GetParameters().Length)) { if (MapDestinationCtorToSource(typeMap, destCtor, sourceTypeInfo, options)) { break; } } } return typeMap; }
public TypeMap CreateTypeMap(Type sourceType, Type destinationType, IProfileConfiguration options, MemberList memberList) { var sourceTypeInfo = GetTypeInfo(sourceType, options); var destTypeInfo = GetTypeInfo(destinationType, options); var typeMap = new TypeMap(sourceTypeInfo, destTypeInfo, memberList, options.ProfileName); foreach (var destProperty in destTypeInfo.PublicWriteAccessors) { var resolvers = new LinkedList<IValueResolver>(); if (MapDestinationPropertyToSource(options, sourceTypeInfo, destProperty.GetMemberType(), destProperty.Name, resolvers)) { var destPropertyAccessor = destProperty.ToMemberAccessor(); typeMap.AddPropertyMap(destPropertyAccessor, resolvers); } } if (!destinationType.IsAbstract() && destinationType.IsClass()) { foreach (var destCtor in destTypeInfo.Constructors.OrderByDescending(ci => ci.GetParameters().Length)) { if (MapDestinationCtorToSource(typeMap, destCtor, sourceTypeInfo, options)) { break; } } } return typeMap; }
public static TypeMap CreateTypeMap(Type sourceType, Type destinationType, ProfileMap options, bool isReverseMap = false) { var sourceTypeInfo = options.CreateTypeDetails(sourceType); var destTypeInfo = options.CreateTypeDetails(destinationType); var typeMap = new TypeMap(sourceTypeInfo, destTypeInfo, options); foreach (var destProperty in destTypeInfo.PublicWriteAccessors) { var resolvers = new LinkedList <MemberInfo>(); if (options.MapDestinationPropertyToSource(sourceTypeInfo, destProperty.DeclaringType, destProperty.GetMemberType(), destProperty.Name, resolvers, isReverseMap)) { typeMap.AddPropertyMap(destProperty, resolvers); } } return(typeMap); }
public TypeMap CreateTypeMap(Type sourceType, Type destinationType, IMappingOptions options) { var sourceTypeInfo = GetTypeInfo(sourceType); var destTypeInfo = GetTypeInfo(destinationType); var typeMap = new TypeMap(sourceTypeInfo, destTypeInfo); foreach (var destProperty in destTypeInfo.GetPublicWriteAccessors()) { var members = new LinkedList<MemberInfo>(); if (MapDestinationPropertyToSource(members, sourceTypeInfo, destProperty.Name, options)) { var resolvers = members.Select(mi => mi.ToMemberGetter()).Cast<IValueResolver>(); var destPropertyAccessor = destProperty.ToMemberAccessor(); typeMap.AddPropertyMap(destPropertyAccessor, resolvers); } } return typeMap; }
public TypeMap CreateTypeMap(Type sourceType, Type destinationType, IMappingOptions options) { var sourceTypeInfo = GetTypeInfo(sourceType); var destTypeInfo = GetTypeInfo(destinationType); var typeMap = new TypeMap(sourceTypeInfo, destTypeInfo); foreach (var destProperty in destTypeInfo.GetPublicWriteAccessors()) { var members = new LinkedList <MemberInfo>(); if (MapDestinationPropertyToSource(members, sourceTypeInfo, destProperty.Name, options)) { var resolvers = members.Select(mi => mi.ToMemberGetter()); var destPropertyAccessor = destProperty.ToMemberAccessor(); typeMap.AddPropertyMap(destPropertyAccessor, resolvers); } } return(typeMap); }