我正在尝试使用静态库重用一些c ++代码。
例如,如果这是我在静态库中的c ++类。

class testclass
{
   testclass();
   ~testclass();
   void printsomethig();
   void dosomething();
};


现在我想在我的运行时项目中继承该类,以后再从Windows Phone 8 c#项目中调用它,但是问题是本机类不能是公共类,如果它是不公开。例如:

public class runtimeTestClass : testclass
{
   runtimeTestClass();
   ~runtimeTestClass();
};


问题是在运行时本机不能是公共的(错误消息),必须是

public ref runtimeTestClass sealed
{
    runtimeTestClass();
   ~runtimeTestClass();
};


但是以这种方式,我无法继承任何东西。

有人知道我该如何解决吗?

先感谢您

最佳答案

如果您是我,我会选择围绕现有类创建WinRT包装器,而不是使用继承。

如果将runtimeTestClass WinRT类的所有功能委托给testclass的私有实例,则可以从c#中使用它。

关于c++ - 如何在Windows Phone运行时组件中使用 native 类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16912948/

10-12 20:39