zoukankan      html  css  js  c++  java
  • Metro Style App :Framwork与WinRT(二)

    在上一篇简略介绍了Framework 和WinRT 的交互 ,更加强大远不止这些,我们可以实现跨语言的调用,而且这种调用是非常简单的

    比如我们用C#写了一些类库 然后可以用JS 来调用我们写的方法。

    我们新建立一个类库项目 image

        public sealed class WinRT
        {         
            public int Test(int a, int b)
            {
                return a + b;
            }
        }
    然后在输出类型上选择 WinMD(WinRT 类型,Framework是 DLL),然后编译
    image

    我们在随便建立一个JS orC++ 项目 引用这个WinRTTest.winmd 

    image

    这里以 JS 为例 VS 只能感应就可以提示我们 ,很强大

    当然这些也是有限制的

    1. API 签名只使用 Windows 运行时的类型
    2. 结构体只能拥有公有的数据字段
    3. 只允许对 XAML 控件使用继承,其它类型都必须使用 sealed 关键字。
    4. 只支持内建的泛型

    详见:

    可供C#和Visual Basic调用的WinRT API

    Using the Windows Runtime from C# and Visual Basic

    这里特别推广下,讲的比我的好多了(特别感谢boolan的辛苦翻译)

    知其然,也要知其所以然,虽然目前没更加详细的文档,但是通过反编译我们不难发现

    我们在选择生成WinMD 类型时,编译器不仅生成了我们所写的类,同时还生成了一个对应的Interfaceimage

    这里个人猜测 应该是通过这个接口,编译器才能智能的提示

  • 相关阅读:
    [ZT]数据表:USR02(登录数据)
    ASP.NET Web 应用程序与ASP.NET网站比较
    DataTable排序的一般方法
    如何重建開啟被锁的SAP超级用戶帐号
    SQL語句中时间格式的转换
    [ZT]提高 Ajax 应用程序性能,避开 Web 服务漏洞
    SAP NetWeaver
    SAP安装步骤[ECC6]WIN2000AS
    SAP&SAP Solution Manager中的常用命令
    [转]如何在Visio 2007中画接口和实现类的关系图
  • 原文地址:https://www.cnblogs.com/trigged/p/2359505.html
Copyright © 2011-2022 走看看