我可以声明一个直接修改类字段的局部变量

时间:2016-12-02 16:43:17

标签: c# dictionary timer

所以,我有一个班级Dictionary<string,System.Timers.Timer>名为&#34; 计时器&#34;我在课堂上有一个方法可以访问&#34; 计时器&#34;字段:

public static void Save(FastColoredTextBox editor) //this works fine
{
    timers[(string)editor.Tag].Dispose();

    timers[(string)editor.Tag] = new Timer(Timeout*1000) { AutoReset = false };
    timers[(string)editor.Tag].Elapsed += TimerElapsed;
    timers[(string)editor.Tag].Start();
}

如您所见,我使用timers[(string)editor.Tag],因为当我设置这样的变量时:

public static void Save(FastColoredTextBox editor) //doesn't modify the Dictionary
{
    var timer = timers[(string) editor.Tag];
    timer.Dispose();

    timer = new Timer(Timeout*1000) { AutoReset = false };
    timer.Elapsed += TimerElapsed;
    timer.Start();
}

&#34;的计时器&#34;被声明为局部变量,并且不会修改Dictionary

那么,我可以设置一个局部变量,如&#34; 计时器&#34;在第二个示例中,将修改类字段Dictionary,还是必须使用第一个示例中的直接访问方法?

0 个答案:

没有答案