public override Object Invoke(List <Object> callParams) { List <Type> types = new List <Type>(); List <object> targetParams = DotnetObject.toObjects(callParams); foreach (var aparam in targetParams) { types.Add(aparam.GetType()); } MethodInfo method = Type.GetMethod(methodName, types.ToArray()); object result = method.Invoke(Target, targetParams.ToArray()); if (result is null) { return(null); } return(DotnetObject.toScriptObject(Engine, result)); }
public override Object Create(List <Object> ctorParams) { object instance = Activator.CreateInstance(ClassType, DotnetObject.toObjects(ctorParams).ToArray()); return(new DotnetObject(instance)); }