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.