Exemplo n.º 1
0
        public TDest MapTo <TSrc, TDest>(TSrc src, TDest dest)
        {
            if (src == null)
            {
                return(dest);
            }
            var srcType        = typeof(TSrc);
            var destType       = typeof(TDest);
            var destObj        = dest;
            var destProperties = destType.GetProperties();

            foreach (var destProperty in destProperties)
            {
                if (!destProperty.CanWrite)
                {
                    continue;
                }

                var srcProperty = srcType.GetProperty(destProperty.Name);

                if (srcProperty == null)
                {
                    continue;
                }

                if (srcProperty.CanRead == false)
                {
                    continue;
                }

                if (srcProperty.PropertyType != destProperty.PropertyType)
                {
                    continue;
                }

                if (ReflectorHelper.IsBaseValueType(srcProperty.PropertyType) == false)
                {
                    continue;
                }

                var srcPropertyValueObj = srcProperty.GetValue(src, null);

                destProperty.SetValue(destObj, srcPropertyValueObj, null);
            }
            return(destObj);
        }
Exemplo n.º 2
0
        public void IsBaseValueTypeTest()
        {
            var b = true;

            b = ReflectorHelper.IsBaseValueType((typeof(int)));
            b = ReflectorHelper.IsBaseValueType((typeof(Int32)));
            b = ReflectorHelper.IsBaseValueType((typeof(string)));
            b = ReflectorHelper.IsBaseValueType((typeof(Guid)));
            b = ReflectorHelper.IsBaseValueType((typeof(DateTime)));
            b = ReflectorHelper.IsBaseValueType((typeof(decimal)));
            b = ReflectorHelper.IsBaseValueType((typeof(Decimal)));
            b = ReflectorHelper.IsBaseValueType((typeof(IList <>)));
            b = ReflectorHelper.IsBaseValueType((typeof(IList)));
            b = ReflectorHelper.IsBaseValueType((typeof(List <>)));
            b = ReflectorHelper.IsBaseValueType((typeof(Child)));
            b = ReflectorHelper.IsBaseValueType((typeof(ICollection <>)));
            b = ReflectorHelper.IsBaseValueType((typeof(ICollection)));
            b = ReflectorHelper.IsBaseValueType((typeof(Parent)));
            b = ReflectorHelper.IsBaseValueType((typeof(Type)));
            b = ReflectorHelper.IsBaseValueType((typeof(NotImplementedException)));
        }