コード例 #1
0
 public static object getObject(FieldInfo fi, string src)
 {
     if (ReflecTools.equals(fi, typeof(string)))
     {
         return(StringTools.unescape(src));
     }
     if (ReflecTools.equals(fi, typeof(int)))
     {
         return(int.Parse(src));
     }
     if (ReflecTools.equals(fi, typeof(long)))
     {
         return(long.Parse(src));
     }
     if (ReflecTools.equals(fi, typeof(bool)))
     {
         return(StringTools.toFlag(src));
     }
     if (ReflecTools.equalsOrBase(fi, typeof(Serializable)))
     {
         object dest = fi.FieldType.InvokeMember(null, BindingFlags.CreateInstance, null, null, null);
         deserialize(dest, StringTools.decodeLines(src));
         return(dest);
     }
     throw new Exception("そんなタイプ知りません:" + fi);
 }