.Net 与 Javascript 混合编程系列(如何穿透.net 和 js 的边界)

本文介绍了如何在.Net和Javascript之间实现透明互访的DEMO,通过代理JS类绑定C#对象并调用方法。详细展示了C#代码、JS代码以及调用过程,包括从JS调用C#的方法和C#调用JS的重载方法。
摘要由CSDN通过智能技术生成

    上一篇研究了如何做到CS和JS互相透明访问的设想,经过一些实践,这里做出了一个小DEMO。

这里有第一个演示类:

    public class TestCSClass
    {
        public TestCSClass()
        {

        }

        //如果可被重写则重载
        public virtual object Method1()
        {
            Console.WriteLine("CS CALL!!");
            return "Hello CS";
        }
    }

简单的C#代码,然后有个可重载的方法 Metod1


    [SharpKit.JavaScript.JsType(SharpKit.JavaScript.JsMode.Clr, PreCode = @"
try{
if (typeof (global.JsTypes) != 'undefined') {
    JsTypes = global.JsTypes;
}
}
catch (e) {
}
"
        )]
    public class TestJSClass : TestCSClass
    {
        public string Arg1 { get; set; }


        public void FunA(string arg)
        {
            
        }

        public TestJSClass()
        {

        }

    }
这是将要生成JS的类,继承与TestCSClass,有个独有的属性,并且多了一个字段,并且重载了一个方法。

然后是代理JS类,用于绑定C#对象并且拥有一些继承类的基础信息

   //C# 代理类
    namespace Proxy
    {
        //JS代理类
        [SharpKit.JavaScript.JsType(TargetType = typeof (CsLibForJS.TestCSClass))]
        public class TestCSClass
        {

            public string __BaseTypeName = "CsLibForJS.TestCSClass";

            private object _ExtObject 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值