Rob*_*uch 10 c# arrays observablecollection
在C#应用程序中,使用以下数组:
CProject[] projectArray = this.proxy.getProjectList(username, password);
Run Code Online (Sandbox Code Playgroud)
但是我需要的projectArray是ObservableCollection<CProject>.建议的方法是什么?到目前为止,我使用以下语句:
ObservableCollection<CProject> projectList = new ObservableCollection<CProject>(projectArray);
Run Code Online (Sandbox Code Playgroud)
您是否也会使用此声明或者您会推荐其他方式吗?
恕我直言,每次要添加对象范围时构建一个新集合并不好,而是我会遵循以下设计。
构建一个继承自 ObservableCollection 的类,以便您可以访问受保护的 Items 属性,然后创建一个 AddRange 方法,该方法将向其中添加项目
public class MyObObservableCollection<T> : ObservableCollection<T>
{
public void AddRange(IEnumerable<T> items)
{
foreach (var item in items)
{
this.Items.Add(item);
}
}
OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9978 次 |
| 最近记录: |