創建一個UWP項目
然后創建一個通用C++運行時項目
右鍵點擊C++項目,添加一個C++類
在頭文件中定義一個類
#pragma once namespace ImageFactoryRT { public ref class ImageSRC sealed { private: Windows::Foundation::Collections::IVector<int>^ colors; int width; int height; public: ImageSRC(); void LoadImageSRC(Windows::Foundation::Collections::IVector<int>^ mcolors, int mwidth, int mheight); public: // int = byte[A] byte[R] byte[G] byte[B] property Windows::Foundation::Collections::IVector<int>^ Colors { Windows::Foundation::Collections::IVector<int>^ get() { return colors; }; void set(Windows::Foundation::Collections::IVector<int>^ s) { colors = s; }; } property int Width { int get() { return width; }; void set(int s) { width = s; }; } property int Height { int get() { return height; }; void set(int s) { height = s; }; } }; ImageSRC::ImageSRC() { } void ImageSRC::LoadImageSRC(Windows::Foundation::Collections::IVector<int>^ mcolors, int mwidth, int mheight) { this->Colors = mcolors; this->Width = mwidth; this->Height = mheight; } }
在cpp文件中引入
#include "pch.h"
在UWP項目中引入C++項目
在UWP C#中就可以直接使用 C++中定義的類了
public sealed partial class MainPage : Page { public MainPage() { this.InitializeComponent(); ImageFactoryRT.ImageSRC imageSRC = new ImageSRC(); List<int> list = new List<int>(); list.Add(3); list.Add(2); list.Add(1); imageSRC.LoadImageSRC(list, 3, 2); imageSRC.Width = 1; int h = imageSRC.Height; } }
這樣做的主要目的是 通過 [標准C++] ==> [C++/CX] ==> [UWP C#] 可以封裝 標准的C++類庫 來使用。