便携式图书馆中的计时器

2024-01-08

我在便携式库/Windows 应用商店中找不到计时器。 (针对 .net 4.5 和 Windows Store aka Metro)

有人知道如何创建某种计时事件吗?

我需要某种秒表,所以应该每秒刷新一次左右


Update:我们已在 Visual Studio 2013 中修复了此问题。面向 Store (Windows 8.1) 和 .NET Framework 4.5.1 项目的可移植库现在可以引用 Timer。

这是我们的实现细节泄露给用户的不幸情况。当您仅针对 .NET 4.5 和 Windows 应用商店应用程序时,我们实际上会让您针对与针对低级平台(.NET 4、SL 4/5、Phone 7.x)时不同的东西进行构建。我们尝试将这两者视为相同,但底层的有限更改开始泄漏(例如计时器和反射)。我们在这里介绍其中的一些内容:http://channel9.msdn.com/Shows/Going+Deep/NET-45-David-Kean-and-Marcea-Trofin-Portable-Libraries http://channel9.msdn.com/Shows/Going+Deep/NET-45-David-Kean-and-Marcea-Trofin-Portable-Libraries.

我们将在未来的版本中考虑解决这个问题。在那之前,您有几个解决方法:

1) 使用 Task.Delay 实现您自己的 Timer 版本,这是我们内部使用的快速副本:

internal delegate void TimerCallback(object state);

internal sealed class Timer : CancellationTokenSource, IDisposable
{
    internal Timer(TimerCallback callback, object state, int dueTime, int period)
    {
        Contract.Assert(period == -1, "This stub implementation only supports dueTime.");
        Task.Delay(dueTime, Token).ContinueWith((t, s) =>
        {
            var tuple = (Tuple<TimerCallback, object>)s;
            tuple.Item1(tuple.Item2);
        }, Tuple.Create(callback, state), CancellationToken.None,
            TaskContinuationOptions.ExecuteSynchronously | TaskContinuationOptions.OnlyOnRanToCompletion,
            TaskScheduler.Default);
    }

    public new void Dispose() { base.Cancel(); }
}

2) 将您的项目降级到 .NET 4.0 和 Windows 应用商店应用程序,这将使您能够访问计时器。

3)创建一个针对.NET 4.0和Windows Store应用程序的新项目,并将需要计时器的代码放入其中。然后引用 .NET 4.5 和 Windows 应用商店应用程序项目中的内容。

作为旁注,我已在 PclContrib 网站上为自己提交了一个工作项目以添加计时器支持:http://pclcontrib.codeplex.com/workitem/12513 http://pclcontrib.codeplex.com/workitem/12513.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

便携式图书馆中的计时器 的相关文章

随机推荐

  • 温斯顿:了解日志记录级别

    阅读和摆弄温斯顿 我很困惑为什么日志记录级别按原样排序 以及为什么传输以它们的方式运行 好吧 至少是控制台 如果有人能够 甚至可能彻底 用真实的用例示例解释为什么使用 Winston 进行日志记录会以这种方式工作 我将不胜感激 例如 我像这
  • std::sort 算法内存使用

    我想知道标准库排序算法 例如 std sort 是否使用堆内存进行排序 是否有任何可靠的来源如何找出排序算法或任何标准库算法一般使用哪种类型 堆 堆栈 和多少临时内存 背景是我考虑将一些标准库算法引入嵌入式环境 其中受控的内存使用至关重要
  • 为什么单击对附加元素不起作用?

    我想使用 jQuery 将一些 html 元素从一个容器无休止地移动到另一个容器append函数 但是当我单击已附加的元素时 单击事件将不再触发 基于与我类似的一些线程 我发现附加元素已从其事件侦听器中剥离 我怎样才能避免这种情况 有人可以
  • 将本地核心数据移动到 iCloud

    如何在已使用本地存储 Core Data 的应用程序中启用 iCloud Core Data 我尝试过使用NSPersistentStoreUbiquitousContentNameKey在我的持久存储选项中 不幸的是 此选项启用 iClo
  • 为什么找不到主类?

    我有一个非常简单的代码 package mygame public class RunGame public static void main String args System out println args 0 我可以编译该代码 但
  • 如何向 Swift Playground 添​​加 UIButton?

    所以我打开了 Playground 我只想添加一个简单的 UIButton 或简单的 UIView 用于测试目的 但我无法让它显示 这是我到目前为止所拥有的 import UIKit var uiButton UIButton button
  • 使弹性项目采用内容宽度,而不是父容器的宽度

    我有一个容器 div with display flex 它有一个孩子 a 我怎样才能让孩子出现 内联 具体来说 如何使子级的宽度由其内容决定 而不扩展到父级的宽度 我尝试过的 我将孩子设置为display inline flex 但它仍然
  • .NET SDK 安装不正确

    我在安装 NET SDK 时遇到问题 首先当我进入 Visual Studio 2019 时 它说我缺少 dotnet Runtime sdk 所以我按照它的要求安装了它并重新启动了我的计算机 然后我再次进入 Visual Studio 2
  • 拦截 iOS 上的崩溃

    描述 我想捕获 iOS 应用程序中发生的所有异常并将它们记录到文件中 并最终将它们发送到应用程序使用的后端服务器 我一直在阅读有关此主题的内容 并发现了设备发送的信号的用法并对其进行了处理 但我不确定它是否会违反应用程序商店审查指南 或者可
  • 带悬停的 CSS 动态导航 - 如何使其在 iOS Safari 中工作?

    在我的网站中 我使用纯 CSS 动态菜单 这在桌面浏览器中没问题 但在 iOS iphone ipad 等 上不行 因为触摸界面不支持 hover选择器 我的问题是 在 iOS 上支持此功能的最佳方式是什么 理想情况下 可以通过修补一些 C
  • 将键值对添加到 JavaScript 中的对象数组中?

    如果我有一个这样的数组 var myarray myarray push Name Adam Age 33 myarray push Name Emily Age 32 这给了我一个数组 我可以在其中提取值 例如myarray 0 Name
  • 为什么在使用花括号初始化列表时首选 std::initializer_list 构造函数?

    考虑代码 include
  • 在 Android 中解析大型 XML 文件

    我正在尝试解析一个相当大的 XML 文件 1MB 但我遇到了一些困难 我首先尝试将 xml 文件添加到 res xml 并使用 XmlResourceParser 解析它 但出现异常 数据超出 UNCOMPRESS DATA MAX 经过一
  • 如何在 firebug 和 chrome 调试器中查看附加到 :hover 和其他伪类的样式

    我知道一定有办法做到这一点 而且我一直在解决这个问题 但是 有什么方法可以查看 和 或编辑 应用于元素的伪类样式吗 例如 我想编辑 myclass hover or someid active在调试器中 附 我真的更关心如何在 chrome
  • 在 Web 服务中接收 JSON 数组作为参数

    我正在使用在 Visual Basic NET 3 5 中编程的 Web 服务来接收从其他应用程序发送的 JSON 数组 我正在发送一个如下所示的 JSON 字符串 idRecoleccion 1 PIN 553648138 idRecol
  • Jquery 悬停时淡出

    我需要一些 jquery 的帮助才能实现淡出效果 这是我的代码 http jsfiddle net PPpnT 25 http jsfiddle net PPpnT 25 当您将鼠标悬停在图像上时 图像需要淡出并显示下面的红色 当您将鼠标移
  • 在 Jenkins 中找不到私有 git 子模块

    问题 我正在尝试在 Jenkins 中构建我的应用程序 它位于 Github 上的私有存储库上 还有一个私有子模块 我可以通过设置凭证来克隆 Jenkins 中的私有存储库 但 Jenkins 无法克隆子模块 这是失败构建的输出 Start
  • 如何在 MySQL 中将字符串列读取为列表?

    我有一张桌子 它有两列class id and student 学生列是学生列表 学生列的数据类型是varchar 我想编写一个 SQL 查询 返回行 其中学生列是较大列表的子集 例如 A B C D E F G class id stud
  • Moodle 中个人资料图片的路径?

    我正在 Moodle Web 应用程序中编程一些东西 并正在考虑检索用户个人资料图像的路径 我以为我可以在数据库中的某个位置找到路径 但我只找到 mdl user picture 和 mdl user imagealt 所以实际上我知道谁上
  • 便携式图书馆中的计时器

    我在便携式库 Windows 应用商店中找不到计时器 针对 net 4 5 和 Windows Store aka Metro 有人知道如何创建某种计时事件吗 我需要某种秒表 所以应该每秒刷新一次左右 Update 我们已在 Visual