• NET中反射实现 可空类型 与基础类型的转换 以及获取指定属性的大小问题


            /// <summary>
            /// 
            /// </summary>
            /// <param name="value">要转换的值</param>
            /// <param name="conversionType">要转换成的类型</param>
            /// <returns></returns>
            private static object ChangeType(object value, Type conversionType)
            {
                if (conversionType.IsGenericType && conversionType.GetGenericTypeDefinition().Equals(typeof(Nullable<>)))
                {
                    if (value != null)
                    {
                        NullableConverter nullableConverter = new NullableConverter(conversionType);
                        conversionType = nullableConverter.UnderlyingType;
                    }
                    else
                    {
                        return null;
                    }
                }
                return Convert.ChangeType(value, conversionType);
            }
    反射 BindingFlags.IgnoreCase 的用法

    反射属性名称,属性名称不区别大小写

    PropertyInfo pi = typeof(object).GetProperty("PropertyName", BindingFlags.IgnoreCase);

    这样是获取不出来的,得加上 BindingFlags.Public | BindingFlags.Instance

    如下这样就可以了。

    PropertyInfo info = obj.GetType().GetProperty(dc.ColumnName, BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.Instance | BindingFlags.GetProperty);
  • 相关阅读:
    jquery 父、子页面之间页面元素的获取,方法的调用
    读excle
    dataTable写入数据库(大数据写入)
    经典类和新式类的区别
    重写父类方法
    封装redis
    继承
    私有方法
    优化MyDb

  • 原文地址:https://www.cnblogs.com/guolihao/p/2864978.html
Copyright © 2020-2023  润新知