zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    18、led驱动程序的实现
    17、字符设备控制技术
    16、驱动访问大揭秘
    14、字符驱动编程模型
    个人开发—进度记录(一)
    个人开发—需求
    学习进度条
    敏捷开发第二阶段个人(七)
    敏捷开发第二阶段个人(六)
    敏捷开发第二阶段个人(五)
  • 原文地址:https://www.cnblogs.com/guolihao/p/2864978.html
Copyright © 2011-2022 走看看