Comments (6)
@kugarliyifan There's no need to create a delegate. Script objects (including functions) can be used directly from the host via the dynamic
type:
public void Callback(object callback)
{
((dynamic)callback)();
}
from clearscript.
Hi @kugarliyifan,
Unfortunately there's no easy way to pass an argument array via dynamic
. Here's an ugly way to do it:
// using System.Reflection;
public void raise(params object[] args) {
((IReflect)eventhand).InvokeMember("[DISPID=0]", BindingFlags.InvokeMethod, null, null, args, null, null, null);
}
We'll try to come up with something better in a future release.
Thanks!
from clearscript.
i think i solve it
var s=new HostFunctions().del(callbacl);
s();
from clearscript.
thk
from clearscript.
another question is
if i use dynamic:
var script3 = "cddd.book=function(data,index,str){cddd.log(data + index + str)}";
var engine = new V8ScriptEngine();
var obj = new Cddd();
engine.AddHostObject("cddd", obj);
engine.Execute(script3);
obj.raise("oooo","111111");
public class Cddd
{
public object book
{
get => eventhand;
set => eventhand = value;
}
public void raise(params object[] args)
{
((dynamic) eventhand)(args);
}
}
when i don't know how much the callback js function parameter,how can i use dynamic to invoke the function and pass "args" on obj.raise("oooo","111111");
from clearscript.
thank!!
from clearscript.
Related Issues (20)
- How to use ClearScript in VC++ project? HOT 2
- The VBS script passes hexadecimal 0 to the backend and prompts "Invalid parameter," while the JS script does not encounter this issue. HOT 3
- fetch - How should JSON objects be passed into JavaScript HOT 2
- Whether ClearScript acts as a parser. HOT 2
- How to use Task and Task.Run in VBScript? HOT 3
- microsoft.clearscript.v8 in use promise but return this {[undefined]} or {Microsoft.ClearScript.V8.V8ScriptItem.V8ScriptObject} HOT 3
- How to use Linq in microsoft.clearscript.v8 HOT 5
- How to use Linq in jsondata in microsoft.clearscript.v8 HOT 4
- Extension method for primitives types HOT 4
- Question about property object assignment HOT 5
- async Task HOT 2
- Need Strategies to Prevent ClearScript V8 Crashes Due to Large Memory Allocation in Scripts HOT 1
- Unable to initalize script engine due to pending script exception HOT 2
- I can't add memory.dll to visual studio 2019?
- Streams API? HOT 1
- ClearScriptV8.linux-x64.so not found in the Docker HOT 2
- ClearScriptV8.win-x86.dll and ClearScriptV8.win-x64.dll missing on Publish HOT 2
- Question: ScriptEngine.HostData HOT 4
- Question: try pattern from script HOT 2
- Behavior of the `MaxRuntimeHeapSize` property of `V8ScriptEngine` class has changed HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from clearscript.