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);
  • 相关阅读:
    安装VS2003出现“FrontPage 2000 WEB 扩展客户端”安装失败时
    字符编码:ASCII,Unicode和UTF8
    AWK学习笔记
    static关键字用法总结
    拷贝构造函数,浅拷贝与深拷贝
    安装IIS步骤图解
    配置SQL Server 2005 Express的身份验证方式,以及如何启用sa登录名
    ASP.NET的学习
    C# 中的委托和事件(转)
    OSI七层模型
  • 原文地址:https://www.cnblogs.com/guolihao/p/2864978.html
Copyright © 2011-2022 走看看