Create COM/ActiveXObject in C#, use from JScript, with simple event

前端 未结 2 1262
有刺的猬
有刺的猬 2020-12-10 06:10

I\'d like to create a COM object in C#, and use it via IDispatch from JScript. That part is pretty simple.

I also want to implement simple callbacks on the COM objec

2条回答
  •  一向
    一向 (楼主)
    2020-12-10 06:18

    Wow, wow! May be easy?

    using System;
    using System.EnterpriseServices;
    
    [assembly: ApplicationName("Calculator")]
    [assembly: ApplicationActivation(ActivationOption.Library)]
    public class Calculator : ServicedComponent
    {
        public int Add(int x, int y){ return (x + y); }
    }
    

    then use these build command

     sn -k Calculator.snk           
     csc /t:library Calculator.cs
     regsvcs Calculator.dll
    

    On jscript (wsh):

    c = new ActiveXObject("Calculator");
    WScript.Echo(typeof(c));  // output: object
    WScript.Echo(c.Add(4,1)); // output: 5
    

    source: msdn

    Enjoy!

提交回复
热议问题