Is this right, may can be done some transparent data conversions for types like string, bool, double, and may be DateTime?
Exception:Object must implement IConvertible.
CS Code:
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
namespace ToRemObjects
{
public class RemObjectsConsole
{
public RemObjectsConsole()
{
}
public void writeDouble(double v)
{
Console.WriteLine(v);
}
public void writeString(string v)
{
Console.WriteLine(null == v ? "<<null>>" : v.ToString());
}
}
class Program
{
static void Main(string[] args)
{
using (var esc = new RemObjects.Script.EcmaScriptComponent())
{
object o = null;
esc.Include("test1", @"
function GlobalFunction(cc) {
var a;
cc.writeString(a);
cc.writeString(null);
cc.writeString(1.3);
cc.writeString(true);
cc.writeString(Number(1.5));
cc.writeString(new Boolean(true));
cc.writeString(new Number(1.5));
cc.writeString(new Date());
}
function GlobalFunction2(cc) {
var a;
//cc.writeDouble(a);
//cc.writeDouble(undefined);
//cc.writeDouble(null);
cc.writeDouble(1.3);
cc.writeDouble(true);
cc.writeDouble(Number(1.5));
cc.writeDouble(new Boolean(true));
cc.writeDouble(new Number(1.5));
}
");
RemObjectsConsole cc = new RemObjectsConsole();
o = esc.RunFunction("GlobalFunction", cc);
o = esc.RunFunction("GlobalFunction2", cc);
Console.ReadLine();
}
}
}
}