Example #1
0
        public override int? Priority(Type sourceType, Type destinationType, MapType mapType)
        {
            if (sourceType == typeof (string) || sourceType == typeof (object))
                return null;

            var destProp = destinationType.GetPublicFieldsAndProperties(allowNoSetter: false).Select(x => x.Name).ToList();
            if (destProp.Count == 0)
                return null;

            return -150;
        }
Example #2
0
 protected override ClassModel GetClassModel(Type destinationType)
 {
     var props = destinationType.GetPublicFieldsAndProperties();
     var names = props.Select(p => p.Name.ToPascalCase()).ToHashSet();
     return (from ctor in destinationType.GetConstructors()
             let ps = ctor.GetParameters()
             where ps.Length > 0 && names.IsSupersetOf(ps.Select(p => p.Name.ToPascalCase()))
             orderby ps.Length descending
             select new ClassModel
             {
                 ConstructorInfo = ctor,
                 Members = ps.Select(ReflectionUtils.CreateModel)
             }).First();
 }
Example #3
0
 protected override ClassModel GetClassModel(Type destinationType)
 {
     return new ClassModel
     {
         Members = destinationType.GetPublicFieldsAndProperties(allowNoSetter: false)
     };
 }