- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在编写一个 Xamarin.Forms 应用程序,并将一个 PCL 项目添加到我在 Visual Studio 2013 中的主要解决方案中。我在使用多个标准 .net 类时遇到问题。这是一个列表:
System.Net.IPAddress
System.Net.IPEndPoint
System.Net.WebClient
System.Net.Sockets.UdpClient
System.Timers.Timer
System.Timers.ElapsedEventArgs
System.Net.NetworkInformation.UnicastIPAddressInformation
我的问题是:如何确定以上哪些与 Xamarin.Forms 应用程序兼容,以及如何让它们在我的项目/解决方案中工作?
我已经联系了 Xamarin 支持,但得到的帮助含糊不清,而不是具体...
是否有人有好的策略来确定支持哪些类以及需要哪些 .dll 以便将它们用于 Xamarin.Forms 项目?
非常感谢您的帮助。
PS:我得到了以下网站供引用,但他们似乎没有任何简明信息:
最佳答案
听起来您并不了解可移植类库的实际含义。创建 PCL 时,可供您使用的 .Net Framework 类的子集取决于您选择的配置文件。配置文件是您的 PCL 可以支持的平台。在 Xamarin 中,默认配置文件是 Profile 78。Profile 78 支持 .NET 4.5、WP8、Win8、WP Silverlight 8、Win Store 8、Xamarin.Android、Xamarin.iOS。因此,您可以使用的类是独立于平台的类,它们在配置文件 78 中的所有平台上运行。
示例:看一下 System.Net.IPAddress 的实现.该实现使用了 Sockets .进一步检查此实现后,您会发现 System.Net.Sockets
只不过是围绕 WinSock API 的 .NET 包装器。 . WinSock API 是 Windows 专用的 DLL,特定于 Windows 操作系统系列 (ws2_32.dll)。因此,您现在可以看到 System.Net.IPAddress 是 Windows Socks(为 Windows 平台构建)的高级抽象。由于 ws2_32.dll 在 Android 和 iOS 等中不存在,您将无法使用此 API,因为 Profile 78 指定我们需要支持其他非 Windows 平台。
另一个例子是 System.Drawing.Bitmap。这只是 GDI+ 的 .NET 包装器,它基于 Win32 API。当然,Win32 在非 Windows 平台(甚至是 Windows Phone)上不可用,这就是为什么您不会在 PCL 中看到它的原因。
话虽如此,您可能认为 PCL 是有限制的,但如果您认为可以创建一个好的 PCL 库 about them the right way .您还可以使用依赖注入(inject)和 Bait and Switch 等模式.
因此,简而言之,不要指望微软“添加对所有基类库的支持”,因为那不是 PCL。
关于c# - 找不到类型或命名空间名称 'IPAddress',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28726908/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!