C# 使用不带WPF的Dispatchermer

C# 使用不带WPF的Dispatchermer,c#,wpf,C#,Wpf,我正在尝试在没有WPF的情况下使用Dispatchermer。如果没有,则不会触发勾号事件。请参阅下面的代码示例。有没有办法让它发挥作用 我为什么要这么做?我正在为在视图模型中挂钩的类实现一个单元测试。该类使用Dispatcher static void Main(string[] args) { DispatcherTimer timer; timer = new DispatcherTimer(); timer.Interval

我正在尝试在没有WPF的情况下使用
Dispatchermer
。如果没有,则不会触发勾号事件。请参阅下面的代码示例。有没有办法让它发挥作用

我为什么要这么做?我正在为在视图模型中挂钩的类实现一个单元测试。该类使用Dispatcher

    static void Main(string[] args)
    {
        DispatcherTimer timer;
        timer = new DispatcherTimer();
        timer.Interval = TimeSpan.FromMilliseconds(50);
        timer.Tick += (s, e) => Console.WriteLine("Hello");
        timer.Start();
        Console.Read();
    }

很遗憾,您无法使用dispatcher,因为控制台应用程序中没有dispatcher

这回答了你的问题吗?为什么不使用
系统.计时器.计时器
?当没有调度程序时,使用调度程序是没有意义的……如果您想能够对视图模型进行单元测试,您应该模拟掉调度程序的依赖关系。mm8:是的,模拟计时器。想想看。但我的目标是真正测试计时器,因为我遇到了计时器没有启动的情况(在WPF中)。我现在直接从单元测试调用Timer.Tick()函数,这有类似的效果。@Kyle:我已经看过那篇文章了。非常感谢。似乎我在单元测试中使用了其他一些策略。