コード例 #1
0
 private bool TrySetProperty(System.Reflection.PropertyInfo property, object destObj, Components.Aphid.Interpreter.AphidObject srcObj)
 {
     if ((property.PropertyType == typeof(byte))) {
         property.SetValue(destObj, System.Convert.ToByte(srcObj.Value), null);
         return true;
     }
     else {
         if ((property.PropertyType == typeof(sbyte))) {
             property.SetValue(destObj, System.Convert.ToSByte(srcObj.Value), null);
             return true;
         }
         else {
             if ((property.PropertyType == typeof(short))) {
                 property.SetValue(destObj, System.Convert.ToInt16(srcObj.Value), null);
                 return true;
             }
             else {
                 if ((property.PropertyType == typeof(ushort))) {
                     property.SetValue(destObj, System.Convert.ToUInt16(srcObj.Value), null);
                     return true;
                 }
                 else {
                     if ((property.PropertyType == typeof(int))) {
                         property.SetValue(destObj, System.Convert.ToInt32(srcObj.Value), null);
                         return true;
                     }
                     else {
                         if ((property.PropertyType == typeof(uint))) {
                             property.SetValue(destObj, System.Convert.ToUInt32(srcObj.Value), null);
                             return true;
                         }
                         else {
                             if ((property.PropertyType == typeof(long))) {
                                 property.SetValue(destObj, System.Convert.ToInt64(srcObj.Value), null);
                                 return true;
                             }
                             else {
                                 if ((property.PropertyType == typeof(ulong))) {
                                     property.SetValue(destObj, System.Convert.ToUInt64(srcObj.Value), null);
                                     return true;
                                 }
                                 else {
                                     if ((property.PropertyType == typeof(byte[]))) {
                                         property.SetValue(destObj, srcObj.GetList().Select(x => (System.Byte)x.GetNumber()).ToArray(), null);
                                         return true;
                                     }
                                     else {
                                         if ((property.PropertyType == typeof(sbyte[]))) {
                                             property.SetValue(destObj, srcObj.GetList().Select(x => (System.SByte)x.GetNumber()).ToArray(), null);
                                             return true;
                                         }
                                         else {
                                             if ((property.PropertyType == typeof(short[]))) {
                                                 property.SetValue(destObj, srcObj.GetList().Select(x => (System.Int16)x.GetNumber()).ToArray(), null);
                                                 return true;
                                             }
                                             else {
                                                 if ((property.PropertyType == typeof(ushort[]))) {
                                                     property.SetValue(destObj, srcObj.GetList().Select(x => (System.UInt16)x.GetNumber()).ToArray(), null);
                                                     return true;
                                                 }
                                                 else {
                                                     if ((property.PropertyType == typeof(int[]))) {
                                                         property.SetValue(destObj, srcObj.GetList().Select(x => (System.Int32)x.GetNumber()).ToArray(), null);
                                                         return true;
                                                     }
                                                     else {
                                                         if ((property.PropertyType == typeof(uint[]))) {
                                                             property.SetValue(destObj, srcObj.GetList().Select(x => (System.UInt32)x.GetNumber()).ToArray(), null);
                                                             return true;
                                                         }
                                                         else {
                                                             if ((property.PropertyType == typeof(long[]))) {
                                                                 property.SetValue(destObj, srcObj.GetList().Select(x => (System.Int64)x.GetNumber()).ToArray(), null);
                                                                 return true;
                                                             }
                                                             else {
                                                                 if ((property.PropertyType == typeof(ulong[]))) {
                                                                     property.SetValue(destObj, srcObj.GetList().Select(x => (System.UInt64)x.GetNumber()).ToArray(), null);
                                                                     return true;
                                                                 }
                                                                 else {
                                                                     if ((property.PropertyType == typeof(decimal[]))) {
                                                                         property.SetValue(destObj, srcObj.GetList().Select(x => x.GetNumber()).ToArray(), null);
                                                                         return true;
                                                                     }
                                                                     else {
                                                                         if ((property.PropertyType == typeof(string[]))) {
                                                                             property.SetValue(destObj, srcObj.GetList().Select(x => x.GetString()).ToArray(), null);
                                                                             return true;
                                                                         }
                                                                         else {
                                                                             if ((property.PropertyType == typeof(bool[]))) {
                                                                                 property.SetValue(destObj, srcObj.GetList().Select(x => x.GetBool()).ToArray(), null);
                                                                                 return true;
                                                                             }
                                                                             else {
                                                                                 return false;
                                                                             }
                                                                         }
                                                                     }
                                                                 }
                                                             }
                                                         }
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
 }