/// <summary> /// Returns the FREArray as a C# string[]. /// </summary> /// <returns></returns> public string[] AsStringArray() { var arr = new string[Length]; var len = Length; if (len <= 0) { return(arr); } for (uint i = 0; i < len; i++) { var itm = At(i); if (itm.Type() != FreObjectTypeSharp.String) { return(arr); } arr[i] = FreSharpHelper.GetAsString(itm); } return(arr); }
/// <summary> /// Traces the message to the console. /// </summary> /// <param name="message">Message to log.</param> /// <param name="type">Type of error</param> /// <param name="freException">The Exception</param> public void Error(string message, FreResultSharp type, FREObject freException) { Context?.DispatchEvent("TRACE", $"[FreSharp] ‼ {type} {message}"); if (FreObjectTypeSharp.Class != freException.Type()) { return; } try { if (!freException.hasOwnProperty("getStackTrace")) { return; } var asStackTrace = freException.Call("getStackTrace"); if (FreObjectTypeSharp.String == asStackTrace.Type()) { Context?.DispatchEvent("TRACE", $"[FreSharp] ‼ {FreSharpHelper.GetAsString(asStackTrace)}"); } } catch (Exception) { //ignored } }
/// <summary> /// Converts a FREObject to a C# string /// </summary> /// <param name="inFre"></param> /// <returns></returns> public static string AsString(this FREObject inFre) => FreSharpHelper.GetAsString(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# string /// </summary> /// <param name="freObject"></param> /// <returns></returns> public static string AsString(this FREObject freObject) => FreSharpHelper.GetAsString(freObject);
/// <summary> /// /// </summary> /// <param name="inFre"></param> /// <returns></returns> public static string AsString(this FreObjectSharp inFre) => FreSharpHelper.GetAsString(inFre.RawValue);