码迷,mamicode.com
首页 > 其他好文 > 详细

将字符串转化为某种类型

时间:2014-05-15 13:40:45      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:style   c   color   int   get   a   

   //将字符串转化为type型.
    private object parse(string s, Type t)
    {
        //如果字符串是一个string,直接返回.
        if (t.IsAssignableFrom(typeof(string))) return s;
        //如果字符串是一个数组,那么将其解析为数组并返回.
        if (t.IsArray) return parseArray(s, t);

        //构造并调用tpe的Parse方法.
        BindingFlags flags = BindingFlags.Static | BindingFlags.FlattenHierarchy | BindingFlags.IgnoreCase | BindingFlags.Public;
        MethodInfo parseMethod = t.GetMethod("Parse", flags, nullnew Type[] { typeof(string) }, null);
        if (parseMethod != null && parseMethod.ReturnType == t)
        {
            return parseMethod.Invoke(nullnew object[] { s });
        }
        else
        {
            throw new ApplicationException("Can‘t parse " + t.FullName + " because it doesn‘t have a static Parse() method");
        }
    }

    //将字符串转化为某种类型的数组.
    private object[] parseArray(string s, Type arrayType)
    {
        string[] strings = s.Split(new char[] { , });
        object[] result = new object[strings.Length];
        for (int i = 0; i < strings.Length; i++)
        {
            result[i] = parse(strings[i], arrayType.GetElementType());
        }
        return result;
    }

将字符串转化为某种类型,布布扣,bubuko.com

将字符串转化为某种类型

标签:style   c   color   int   get   a   

原文地址:http://www.cnblogs.com/robyn/p/3729321.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!