Windows 8 Metro App开发中编写和使用自己的Windows Runtime组件
程序员文章站
2022-04-24 15:07:45
...
注:本文由BeyondVincent(破船)原创首发
转载请注明出处:BeyondVincent(破船)@DevDiv.com
今天通过一个非常简单的例子,我给大家介绍一下如何使用WinRT。在这里我用C++创建一个WinRT组件,然后通过C#工程来使用该组件
首先,启动Visual Studio 2012 RC,在这里我使用的系统版本是Windows 8 Rlease Preview。然后新建一个项目,打开Visual C++并选择“Windows RunTime Component”,而不是DLL(Metro style Apps)。输入工程名Calculator。如下图
将头文件和cpp文件中的类名修改为Calculator,并在头文件中加入如下Add方法
#pragma once
namespace Calculator
{
public ref class CalculatorRT sealed
{
public:
CalculatorRT();
int Add(int i, int j)
{
return i+j;
}
};
}
下面是修改类名后的cpp文件
// Class1.cpp
#include "pch.h"
#include "Class1.h"
using namespace Calculator;
using namespace Platform;
CalculatorRT::CalculatorRT()
{
}
到此,组件的代码就编写完毕了,但是先别编译该工程。
我们先在解决方案中添加一个C#工程,如下图所示
然后右键单击引用,选择添加引用
然后在在项目中选择Calculator,记得要勾住左边的复选框,否则引用不会被添加到C#工程中。
接着在我们的C#工程中就可以使用该组件了。
我在App.xaml.cs文件中添加名称空间Calculator。如下图,当输入ca的时候会有相应的提示,选择Calculator即可。
然后在App函数中添加如下代码,运行即可得知sum等于30
public App()
{
this.InitializeComponent();
this.Suspending += OnSuspending;
CalculatorRT calc = new CalculatorRT();
int sum = calc.Add(10, 20);
}
好了,至此结束,上面的代码就是如何编写和使用自己的Windows Runtime组件,并且是如果通过C#代码重用C++写的代码。