Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从MVVM DispatchTimer类检查实例变量?_C#_.net_Mvvm_Dispatchertimer - Fatal编程技术网

C# 如何从MVVM DispatchTimer类检查实例变量?

C# 如何从MVVM DispatchTimer类检查实例变量?,c#,.net,mvvm,dispatchertimer,C#,.net,Mvvm,Dispatchertimer,因此,我有一个类来处理MVVM中的计时器: class RecognitionProcessTimer { DispatcherTimer analysisProcessTimer; public int Duration { get; set; } public RecognitionProcessTimer() { this.Duration = 500; } p

因此,我有一个类来处理MVVM中的计时器:

class RecognitionProcessTimer
    {
        DispatcherTimer analysisProcessTimer;
        public int Duration { get; set; }
        public RecognitionProcessTimer()
        {
            this.Duration = 500;
        }

        public void StartTimer()
        {
            analysisProcessTimer = new DispatcherTimer();
            analysisProcessTimer.Interval = TimeSpan.FromMilliseconds(this.Duration);
            analysisProcessTimer.Tick += AnalysisProcessTimer_Tick;
            analysisProcessTimer.Start();
        }

        public void StopTimer()
        {
            if (analysisProcessTimer != null)
            {
                analysisProcessTimer.Stop();
                analysisProcessTimer = null;
            }
        }

        private void AnalysisProcessTimer_Tick(object sender, object e)
        {
            analysisProcessTimer.Stop();
            // C# code current object variables from the other class
        }
    }
所以,我有一个分析类,它会对计时器的每一个滴答声进行分析。
RecognitionProcessTimer
将对此分析类的代码进行初始化和
Start()
,但计时器的
AnalysisProcessTimer\u Tick
事件需要检查并调用一些当前分析类对象变量。我如何继续实现这一目标

我尝试在tick方法上初始化analysis类,但由于使用了一个新对象,而不是使用初始化
RecognitionProcessTimer
类的对象,所以我丢失了其中的所有数据

TLDR:我正在尝试使用初始化
RecognitionProcessTimer
的tick方法中的
RecognitionProcessTimer
的类中的变量

如果问题似乎不清楚,请让我知道,我会进一步澄清。
附言:不能使用静态变量。

分析类是什么样子的?为什么你需要在第一次滴答声后停止计时器?实际上,您可以在
RecognitionProcessTimer
构造函数中初始化所需的所有内容,或者从创建
RecognitionProcessTimer
classIs实例的类中将参数传递给它将我的类字段作为参数传递给
RecognitionProcessTimer
是一种好的做法吗?analysis类有几个非静态变量,在从
Tick
调用analysis方法之前,我需要先在
Tick
中签入这些变量。另外,如何从
AnalysisProcessTimer\u Tick
方法调用我的分析类方法?请记住,我需要重用初始化
RecognitionProcessTimer
的对象。将所有类依赖项传递给构造函数或通过属性是一个很好的做法。不管怎么说,没有上下文和细节很难说。我想我已经提供了足够的上下文。让我知道你到底在找什么。