ReadOnlyObservableCollection和ObservableCollection之间的区别

时间:2012-05-27 02:48:00

标签: observablecollection

ReadOnlyObservableCollectionObservableCollection之间有什么区别 我有以下代码段

private ObservableCollection<FeedData> _Feeds = new ObservableCollection<FeedData>();
        public ObservableCollection<FeedData> Feeds
        {
            get
            {
                return this._Feeds;
            }
        }

我可以用ReadOnlyObservableCollection

替换ObservableCollection

2 个答案:

答案 0 :(得分:2)

尝试在 ReadOnly 集合时添加到_Feeds。

这是一个阻止您更改集合的包装器。当然它只是一个包装器,所以如果您参考了底层集合,您可以通过 ReadOnly

线索就在名字中。

答案 1 :(得分:1)

ReadOnlyObservableCollectionObservableCollection上的只读包装。

不能通过此只读包装器进行任何更改,但对基础ObservableCollection的所有更改都会反映到ReadOnlyObservableCollection。

如果ObservableCollection未公开为ReadOnly(不是readonly属性,而是ReadOnlyObservableCollection),则底层集合将被公开修改。

  
    

属性返回的数组不受写保护,即使该属性是只读属性也是如此。为了防止数组防篡改,属性必须返回数组的副本。通常,用户不会理解调用此类属性的不利性能影响。具体来说,他们可能会将该属性用作索引属性。

  

CA1819: Properties should not return arrays