using System; using Jint.Native; using Jint.Native.Function; namespace Jint.Runtime.Interop { /// /// Wraps a Clr method into a FunctionInstance /// public sealed class ClrFunctionInstance : FunctionInstance { private readonly Engine _engine; private readonly Func _func; public ClrFunctionInstance(Engine engine, Func func) : base(engine, null, null, null, false) { _engine = engine; _func = func; } public override object Call(object thisObject, object[] arguments) { var result = _func((TObject) thisObject, arguments); return new Completion(Completion.Normal, result, null); } } }