【问题标题】:What modern (PCL) equivalent for Handshake.XOnXOff?Handshake.XOnXOff 的现代(PCL)等价物是什么?
【发布时间】:2014-04-29 12:19:08
【问题描述】:

我使用的是这个遗留代码:

SerialPort serialPort = new SerialPort();
serialPort.BaudRate = 19200;
serialPort.Handshake = Handshake.XOnXOff;

...但尝试将其移植到 Xamarin 解决方案的“核心”(可移植类库)部分中的 VS 2013 / .NET 4.5.1,我得到,“'Handshake' 的名称不存在于当前上下文中"

根据this,Handshake 枚举位于 System.IO.Ports 命名空间中,但将其添加到我的 usings 会引发“命名空间中不存在类型或命名空间名称 'Ports' 'System.IO'(您是否缺少程序集引用?)"

也许我缺少程序集引用?上面的链接说它在 System.我唯一的参考是“.NET Portable Subset”,我假设(我知道,我知道,当您假设您 Aynchronously Syncopate Sinkholes 或类似的东西时)将在其中嵌入 System。

当我右击 References 并选择 Add Reference... 时,提供的选项有点少:

那么...我该如何使用 Handshake.XOnXOff?如果我不能,我有哪些可行的选择?

【问题讨论】:

  • 我不相信 Windows Phone 支持 Serial IO。 msdn.microsoft.com/en-us/library/windowsphone/develop/…
  • 哦,是的,这是在带式打印机上打印标签的代码(最初用于手持设备)。我认为手机/平板电脑可以“空中打印”到更传统的打印机类型……或者,为了保留功能,可以将带式打印机外设到平板手机或平板电脑?
  • 巧合的是,在这种情况下,PCL 的两个相关消歧都浮现在脑海中(可移植类库和打印机命令语言)。

标签: c# xamarin portable-class-library handshake portable-applications


【解决方案1】:

我认为您无法以与平台无关的方式实现打印功能。您最好的选择是定义某种 IPrinting 接口。该接口可以在特定于平台的库中实现,然后可以将引用传递到您的 PCL 中,以便 PCL 可以通过接口移交打印职责。

【讨论】:

  • 看起来怎么样?每个设备都会调用一个方法,比如 PrintLabel(iPhone) 或 PrintLabel(Android) 或 PrintLabel(WP8),等等,然后是核心代码(这自然会做这种卑鄙的事情,我的意思是低级的东西)然后调用特定于设备的代码?还是……???
  • 是的,类似的。
猜你喜欢
  • 2020-11-11
  • 1970-01-01
  • 2012-06-03
  • 2014-05-08
  • 2014-06-12
  • 1970-01-01
  • 2022-11-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多