c# – 从ObservableCollection继承的集合 – 有什么好处?
发布时间:2020-12-15 18:06:54 所属栏目:百科 来源:网络整理
导读:在查看了 this MSDN article之后,我现在想知道将集合定义为继承自ObservableCollection的类的好处是什么.这之间是否有任何显着差异: class MyCollection : ObservableCollectionMyObject { }class Class1{ private MyCollection _newCollection = new MyCol
在查看了
this MSDN article之后,我现在想知道将集合定义为继承自ObservableCollection的类的好处是什么.这之间是否有任何显着差异:
class MyCollection : ObservableCollection<MyObject> { } class Class1 { private MyCollection _newCollection = new MyCollection(); public Class1() { _newCollection.Add(new MyObject()); } } 还有这个: class Class1 { private ObservableCollection<MyObject> _newCollection = new ObservableCollection<MyObject>(); public Class1() { _newCollection.Add(new MyObject()); } } 有什么东西我在这里俯瞰吗? 解决方法
一个主要的好处是您可以定义Add函数,这使得内联初始化更容易.所以例如:
class MyCollection : ObservableCollection<MyObject> { public void Add(string prop1,string prop2) { base.Add(new MyObject { Prop1 = prop1,Prop2 = prop2 }); } } 让你写这个: MyCollection collection = new MyCollection { { "prop1","prop2" },{ "prop1",}; 第二个(相关的)好处:如果您正在使用XAML,那么使用子类集合可以将集合实例(用于设计/测试用例)定义为标记,如下所示: <local:MyCollection xmlns:local="MyNamespace"> <local:MyObject Prop1="prop1" Prop2="prop2" /> <local:MyObject Prop1="prop1" Prop2="prop2" /> </local> 最后,(这只是一个品味的问题,我想)它一般不会受到伤害,并且可以提供帮助.有时您最终需要更多给定集合类型的方法/属性.很高兴有一个类型化的子类准备好,而不需要重构. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Ajax —— 一言不合就谈Ajax
- 我可以在Xcode 4中禁用调试器吗?
- ruby – Rails3 SQL日志输出在一个单独的文件中
- ruby-on-rails – 如何将旧的提交部署到Heroku
- 单元测试 – BDD是TDD的替代品吗?
- postgresql – 不结束数据库事务有什么后果?
- objective-c – 在XCode中的自定义/用户代码段中添加时间和
- 启动索引大于(array.size -1)时会产生关于ruby Array []方法
- 《Swift与Cocoa框架开发》作者Paris Buttfield-Addison:你
- Coco2d 2.1和Xcode 7 iOS 9崩溃ccShader