ReadOnlyObservableCollection
和ObservableCollection
之间有什么区别
我有以下代码段
private ObservableCollection<FeedData> _Feeds = new ObservableCollection<FeedData>();
public ObservableCollection<FeedData> Feeds
{
get
{
return this._Feeds;
}
}
我可以用ReadOnlyObservableCollection
替换ObservableCollection答案 0 :(得分:2)
尝试在 ReadOnly 集合时添加到_Feeds。
这是一个阻止您更改集合的包装器。当然它只是一个包装器,所以如果您参考了底层集合,您可以通过 ReadOnly
线索就在名字中。
答案 1 :(得分:1)
ReadOnlyObservableCollection
是ObservableCollection
上的只读包装。
不能通过此只读包装器进行任何更改,但对基础ObservableCollection的所有更改都会反映到ReadOnlyObservableCollection。
如果ObservableCollection未公开为ReadOnly(不是readonly属性,而是ReadOnlyObservableCollection),则底层集合将被公开修改。
属性返回的数组不受写保护,即使该属性是只读属性也是如此。为了防止数组防篡改,属性必须返回数组的副本。通常,用户不会理解调用此类属性的不利性能影响。具体来说,他们可能会将该属性用作索引属性。