我有一个使用后台任务的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组件限制?


基础教程推荐
- C#中类与接口的区别讲解 2023-06-04
- C# – NetUseAdd来自Windows Server 2008和IIS7上的NetApi32.dll 2023-09-20
- C# Winform实现石头剪刀布游戏 2023-01-11
- 使用c#从分隔文本文件中插入SQL Server表中的批量数据 2023-11-24
- c#读取XML多级子节点 2022-11-05
- c#中利用Tu Share获取股票交易信息 2023-03-03
- C#集合查询Linq在项目中使用详解 2023-06-09
- C#通过GET/POST方式发送Http请求 2023-04-28
- Unity shader实现多光源漫反射以及阴影 2023-03-04
- 京东联盟C#接口测试示例分享 2022-12-02