zoukankan      html  css  js  c++  java
  • String转成任意基本类型

    尝试别的方法,一直找不到好的。

            /// <summary>
            
    /// 转成基本的类型(支持可空类型)
            
    /// </summary>
            public static T Convert<T>(this string str, T defaultValue)
            {
                
    if (String.IsNullOrEmpty(str))
                    
    return defaultValue;

                var type 
    = typeof(T);


                var typeName 
    = type.FullName;

                
    if (type.Name == "Nullable`1")
                {
                    var m 
    = Regex.Match(typeName, @"((?<=\[)(\w+.\w+)(?=,))");

                    type 
    = Type.GetType(m.Value);
                }


                MethodInfo method 
    = null;
                
    foreach (var m in type.GetMethods())
                {
                    
    if (m.Name == "Parse" && m.GetParameters().Length == 1)
                    {
                        method 
    = m;
                        
    break;
                    }
                }

                var result 
    = defaultValue;
                
    try
                {
                    
    if (method != null)
                        result 
    = (T)method.Invoke(nullnew[] { str });
                }
                
    catch
                {
                    
    return defaultValue;
                }

                
    return result;
            }
  • 相关阅读:
    执行器模式设计和使用
    你知道怎么用Idea抽取方法、创建class吗?
    intellij构建多模块项目
    解决IDEA16闪退的问题
    TestNG参数化测试-数据提供程序 @DataProvider方式
    java第三节 面向对象(上)
    java第二节 基本数据类型
    memcache使用方法测试
    mysql Substr与char_length函数的应用
    《web与移动开发》征文活动
  • 原文地址:https://www.cnblogs.com/mad/p/1625342.html
Copyright © 2011-2022 走看看