List <string>是否在c#?</string>中有一个Changed事件

时间:2011-10-18 20:31:04

标签: c#

我最近买了一本名为“C#编程语言”的第4版。在页49上,引用了具有已更改事件的List,可以将其绑定为事件示例。 试图重现这一点,但结果却对此有些不满: -

List<string> names = new List<string>();
names.Changed+= new EventHandler(ListChanged);

所以它继续...... 我错过了什么或列表没有更改事件吗?

5 个答案:

答案 0 :(得分:6)

不,List<T>没有这样的事件,你没有遗漏任何东西。您可以结帐ObservableCollection<T>,其中包含您可以订阅的CollectionChanged活动。它广泛用于WPF和Silverlight中以实现MVVM模式。

答案 1 :(得分:5)

不,请看ObservableCollection

答案 2 :(得分:1)

确实如此。但是,第49页上引用List<T>事件的Changed实际上是在第40页引入的。不是 List<T>是基类的一部分图书馆。要使用本书中包含的版本,您必须自己输入(或者本书附带CD,或者您可以下载它),并且您的代码将与使用{{1的任何其他代码不兼容其他人都使用的。

答案 3 :(得分:0)

List<T>上没有此类事件。也许这本书引用的是System.Collections.ObjectModel.ObservableCollection<T>

答案 4 :(得分:0)

您可以使用ObservableCollection,并可以添加命名空间以使用这些

Namespace: System.Collections.ObjectModel
Assembly: WindowsBase (in WindowsBase.dll)