/// <summary> /// Returns the FREArray as C# int[]. /// </summary> /// <returns></returns> public int[] AsIntArray() { var arr = new int[Length]; var len = Length; if (len <= 0) { return(arr); } for (uint i = 0; i < len; i++) { var itm = At(i); if (itm.Type() != FreObjectTypeSharp.Int) { return(arr); } arr[i] = FreSharpHelper.GetAsInt(itm); } return(arr); }
/// <summary> /// Converts a FREObject to a C# int /// </summary> /// <param name="inFre"></param> /// <returns></returns> public static int AsInt(this FREObject inFre) => FreSharpHelper.GetAsInt(inFre);
/// <summary> /// /// </summary> /// <returns></returns> public ArrayList GetAsArrayList() { 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.GetAsArrayList()); break; case FreObjectTypeSharp.Bitmapdata: var bmdFre = new FreBitmapDataSharp(itm); al.Add(bmdFre.GetAsBitmap()); 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; default: throw new ArgumentOutOfRangeException(); } } return(al); }
/// <summary> /// Converts a FREObject to a C# short. /// </summary> /// <param name="freObject"></param> /// <returns></returns> public static short AsShort(this FREObject freObject) => (short)FreSharpHelper.GetAsInt(freObject);
/// <summary> /// Converts a FREObject to a C# int. /// </summary> /// <param name="freObject"></param> /// <returns></returns> public static int AsInt(this FREObject freObject) => FreSharpHelper.GetAsInt(freObject);