/// <summary> /// Returns the FREArray as a C# ArrayList. /// </summary> /// <returns></returns> public ArrayList AsArrayList() { var al = new ArrayList(); var len = Length; if (len <= 0) { return(al); } for (uint i = 0; i < len; i++) { var itm = At(i); var type = itm.Type(); switch (type) { case FreObjectTypeSharp.String: al.Add(FreSharpHelper.GetAsString(itm)); break; case FreObjectTypeSharp.Bytearray: var ba = new FreByteArraySharp(itm); ba.Acquire(); var baTarget = new byte[ba.Length]; ba.Bytes.CopyTo(baTarget, 0); al.Add(baTarget); ba.Release(); break; case FreObjectTypeSharp.Array: case FreObjectTypeSharp.Vector: var arrFre = new FREArray(itm); al.Add(arrFre.AsArrayList()); break; case FreObjectTypeSharp.Bitmapdata: var bmdFre = new FreBitmapDataSharp(itm); al.Add(bmdFre.AsBitmap()); break; case FreObjectTypeSharp.Boolean: al.Add(FreSharpHelper.GetAsBool(itm)); break; case FreObjectTypeSharp.Null: break; case FreObjectTypeSharp.Int: al.Add(FreSharpHelper.GetAsInt(itm)); break; case FreObjectTypeSharp.Object: case FreObjectTypeSharp.Class: al.Add(FreSharpHelper.GetAsDictionary(itm)); break; case FreObjectTypeSharp.Number: al.Add(FreSharpHelper.GetAsDouble(itm)); break; case FreObjectTypeSharp.Rectangle: var rectFre = new FreRectangleSharp(itm); al.Add(rectFre.Value); break; case FreObjectTypeSharp.Point: var pointFre = new FrePointSharp(itm); al.Add(pointFre.Value); break; case FreObjectTypeSharp.Date: al.Add(FreSharpHelper.GetAsDateTime(itm)); break; default: throw new ArgumentOutOfRangeException(); } } return(al); }
/// <summary> /// Converts a FREObject to a DateTime /// </summary> /// <param name="inFre"></param> /// <returns></returns> public static DateTime AsDateTime(this FREObject inFre) => FreSharpHelper.GetAsDateTime(inFre);
/// <summary> /// Converts a FREObject to a DateTime. /// </summary> /// <param name="freObject"></param> /// <returns></returns> public static DateTime AsDateTime(this FREObject freObject) => FreSharpHelper.GetAsDateTime(freObject);