c# - 来自 nugets 的跨平台项目和数据类
问题描述
我们正在为 Android 和 iOS 构建 nugets,它们都只生成一个包含数据的类。
public struct ResultData
{
public double dScore;
public string strPhrase;
public Info[] details;
}
Android 和 iOS nuget 都会生成此数据。
我的问题是如何在平台无关代码中声明这个数据结构/类,以便我可以以独立于平台的方式从调用方法中正确捕获它?
这可能吗 ?
编辑:额外信息
如标题所述,我是在一个跨平台项目的背景下,即移动项目。所以我们有三层——平台中立层、Android 层和 iOS 层。
每个特定于平台的层(Android 和 iOS)都导入一个特定于平台的本机库 nuget。
这两个库 nuget 都将生成供ResultData
平台中性层使用的对象。
希望这会有所帮助。
编辑#2
尝试了建议的解决方案,即创建一个单独的库来保存此数据结构的定义。
但是,编译会系统性地失败,并出现以下错误
Class.cs(118,16,118,32): error CS0012: The type 'ValueType' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
所以我不能走那条路!
解决方案
我所有调查的结果 - 使用 xamarin 和 VS2019 的实际版本绝对不可能做到这一点。
随后我不得不放弃这种方法并使用不同的策略将信息传递到不同的层——一个 JSON 字符串,然后可以将其转换为顶层所需的数据结构/类。
感谢所有试图在这里提供帮助的人。
推荐阅读
- javascript - Javascript 表单 onclick
- java - 使用来自唯一类的方法的 Java 程序运行不正常
- facebook - 允许其他人将他们的 Facebook 页面连接到我们的应用程序
- android - 由于 Json 元素为空字符串 ("") 而不是对象,Android 应用程序崩溃
- python-3.x - 熊猫:GroupBy Shift 和累积和
- c# - Console.Writeline 仅在使用异步等待时某些时候写入控制台
- python - 如何使用 OpenCV 和 Python 在写入的圆形对象内用白色填充黑色区域?
- python - TensorFlow 对象检测 API:导出进程被终止
- c - 在C中遍历和打印单链表时出错
- javascript - 采用
在父级中导入