C# 3.0以后,允许开发人员对CLR里的原生类进行扩展,也就是说,您可以自由为CLR的各种类增加新的方法。
下面便是一个扩展CLR里的ObservableCollection类的例子,对其加上AddRange方法。
public static class Extensions { public static void AddRange<T>(this ObservableCollection<T> oCollection, IEnumerable<T> collection) { if (collection == null) { throw new ArgumentNullException("ObservableCollection is NULL"); } foreach (T item in collection) { oCollection.Add(item); } } }
把这个保存成Extensions.cs放到Utility的namespace下,(blchen的习惯是把所有的公用类都放到Project.Utility的命名空间下。)之后,在项目里用到ObservableCollection的时候就可以用到AddRange方法了
Leave a Reply
You must be logged in to post a comment.