我有一个使用后台任务的Windows应用商店应用程序.后台任务存储在Windows运行时组件项目中. (这种结构似乎是使后台任务有效的唯一方法.)在后台任务项目中,我有一些外部可见的公共方法,它们的返回/参数类型是我自己的...
我有一个使用后台任务的Windows应用商店应用程序.后台任务存储在Windows运行时组件项目中. (这种结构似乎是使后台任务有效的唯一方法.)
在后台任务项目中,我有一些外部可见的公共方法,它们的返回/参数类型是我自己的类而不是Windows运行时类.
例如:
public MyClass DoSomething()
{
return null;
}
当我构建时,我会收到与以下方法相关的错误:
Method ‘X’ returns ‘Y’, which is not a valid Windows Runtime type. Methods exposed to Windows Runtime must return only Windows Runtime types.
和
Method ‘T’ has parameter ‘U’ of type ‘W’. ‘W’ is not a valid Windows Runtime parameter type.
我可以理解错误的含义,但我没有想到一个好的方法,我可以构建我的代码,以便我满足这些要求.
以下是我已经考虑过的一些事情:
>将后台任务项目更改为Windows应用商店类库项目.这允许在方法签名中使用非Windows运行时类型,但后台任务不再启动.
>使用便携式类库.这不起作用,因为它无法访问Windows运行时.
>对于值类型,我可以将它们分解为元组或多个参数,但这看起来很混乱,结构化程度较低,维护较少.我坚决反对这种类型的编程.
>对于类,似乎我可能必须在两个应用程序中复制它们的逻辑.这是一个巨大的可维护性问题.
解决方法:
通过隔离Windows组件项目中的后台任务并将可重复使用的Windows运行时相关代码移动到Windows应用商店类库项目中,我能够完成这项工作.
本文标题为:c# – 如何克服Windows运行时类型的Windows组件限制?
基础教程推荐
- 一个读写csv文件的C#类 2022-11-06
- C# 调用WebService的方法 2023-03-09
- C# List实现行转列的通用方案 2022-11-02
- C# windows语音识别与朗读实例 2023-04-27
- linux – 如何在Debian Jessie中安装dotnet core sdk 2023-09-26
- C#控制台实现飞行棋小游戏 2023-04-22
- winform把Office转成PDF文件 2023-06-14
- ZooKeeper的安装及部署教程 2023-01-22
- C#类和结构详解 2023-05-30
- unity实现动态排行榜 2023-04-27