我有一個單獨的類,讓我們說一個字典的類2。我希望它能填充字典中的值。c#檢查字典是否通過事件處理程序更改了另一個類中的值?
public class Class2
{
public Class2()
{
public Dictionary<string, string> someDictionary = new Dictionary<string, string>();
//I DON"T KNOW HOW TO CREATE AN EVENTHANDLER HERE FOR THE DICTIONARY
//how do i create the eventhandler if someDictionary changes?
}
}
讓我們Class1中說,我有我想,以填補在字典中的值,但是改變他們在Class2中的變化詞典列表視圖。
public class Class1
{
public Class1()
{
Class2 class2 = new Class2();
class2.SomeDictionaryChanged += new EventHandler(someDictionary_SomeDictionaryChanged);
}
void someData_SomeDataChanged(object sender, EventArgs e)
{
listView1.Add(class2.someDictionary);
}
}
如何爲class2中的字典創建事件處理程序,以及如何檢查字典是否在class1中更改?
所有這是僞代碼,它不會編譯,我不知道如何做到這一點,因此,我問的問題。
所示的代碼不會編譯,請您糾正它? – 2011-12-23 22:48:16
這個問題沒有任何意義。如果字典是在構造函數中定義的,那麼一旦它完成執行,沒有值可以添加到它,所以有什麼意思讓它引發事件? – 2011-12-23 22:51:28
詞典<>沒有事件。它不需要任何,只有你自己的代碼可以改變它。沒有「我自己改變了」的事件,你已經知道了。不過,ListView的確是一個允許用戶更改選擇的控件。除了你的控制,所以它有SelectedIndexChanged事件告訴你。 – 2011-12-23 23:09:06