How to put my own class into JsObject?

Sep 1, 2011 at 4:31 AM

I want to create a global variable with a member variable not known at compile time.

For example, I have a C# class Dog which I want to essentially do the following:

jsObject["animal"] = new Dog(); // Compile error because Dog is not JsInstance

jint.SetParameter("globals", jsObject);

Then in the javascript code, I want:

globals.animal.foo();

(foo is a method of Dog).

Again, I don't know what "animal" will be at compile time.

Thanks,

...Matt

Developer
Sep 1, 2011 at 7:36 AM

Use JintEngine.Global.WrapClr(Object) method to create a JsInstance from a CLR object

jsObject["animal"] = jint.Global.WrapClr(new Dog());