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

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

  • 相关阅读:
    [BZOJ3105][CQOI2013]新Nim游戏
    [BZOJ4592][SHOI2015]脑洞治疗仪
    [BZOJ3551][ONTAK2010]Peaks加强版
    [BZOJ2229][ZJOI2011]最小割
    [BZOJ4519][CQOI2016]不同的最小割
    [BZOJ3532][SDOI2014]LIS
    [BZOJ2668][CQOI2012]交换棋子
    [BZOJ3504][CQOI2014]危桥
    Java抽象类
    Java方法覆盖重写
  • 原文地址:https://www.cnblogs.com/trigged/p/2359505.html
Copyright © 2011-2022 走看看