2010-07-22 19 views
0

好,所以我的问题是自我解释,这里是一些代码,所以你可以了解更多一点。安全地保存在一个词典中的上下文

public Dictionary<string,VcardWindow> VcardWindowManager 
    = new Dictionary<string,VcardWindow>();' 

,并获得像这样:

public void ShowVcardWindow(string VcardOwner) 
{ 
    VcardWindow Window; 
    if(VcardWindowManager.ContainsKey(VcardOwner)) 
    { 
     Window = VcardWindowManager[VcardOwner]; 
    } 
    else 
    { 
     Window = new VcardWindow(VcardOwner); 
     //Startup Code 
     VcardWindowManager.Add(VcardOwner,Window); 
    } 
    //Invoker here 
} 

通过在字典OK保存窗口?还有其他方法更快更安全吗?

回答

1

Form的一个实例与其他任何对象一样,因此您可以将其引用存储在Dictionary中。在这种情况下使用Dictionary是在单线程场景中存储需要根据密钥访问的对象集合的正确方法。

+0

这是我的假设,但在C#的世界中并不是所有的东西都像它看起来那样。我想我会澄清。谢谢 – RobertPitt 2010-07-22 12:21:44