C# 4.0新特性-索引属性
2010-09-30 22:35:20 来源:WEB开发网这篇文章我主要给大家介绍一个C# Team很少提及的一个关于C# 4.0的新特性--索引属性。文章主要从索引属性是什么,为什么需要它,为什么C#又不完全支持它,目前C#索引属性的实现以及怎样使用它四个方面进行介绍。
什么是索引属性
望文生义,索引属性就是指能根据索引值返回指定结果的属性,它是访问属性的原子操作,如 someObject.someProperty[index]。索引化属性跟普通属性差不多,唯一不同的是它多了一个额外的表示索引值的参数。这个新的特性加入到C# 4.0中比较晚,它在VS 2010 Beta1中都还没有,是在Beta2中才加入的新特性。
为什么我们需要它?
如果你经常跟COM打交道,你应该应该会遇到类似下面的代码(这段代码还是Scott Hanselman 在Beta1发布时候写的例子:):
1 var excel = new Excel.Application();
2 excel.Visible = true;
3 excel.Workbooks.Add();
4 excel.get_Range("A1").Value2 = "Process Name";
5 excel.get_Range("B1").Value2 = "Memory Usage";
这段代码还仅仅是一部分,实际上你可能会碰到更难缠的代码。e.g.
myObject.set_IndexedProperty(myObject.get_IndexedProperty(index) + 1)。它看起来真的很臃肿,为什么我们不可以这样来调用呢?myObject.IndexedProperty[index]++。
作为一个存在已久的模块,COM里面有很多很多像上面这种属性操作方法,它也使得程序员写出的与COM交互的代码看起来臃肿不堪。为了解决这种状况,C# 4.0中提出了很多改进C#与COM交互的方式,dynamic是其中一种,而这里C# Team则通过索引属性改善上面提到的这些状况,它使得程序员写出的代码更为简洁。
- ››索引色在Photoshop中的制作方式
- ››索引覆盖和DB2查寻性能
- ››索引存储关系到数据库的运行效率
- ››索引在ORACLE中的应用分析
- ››特性信息
- ››属性选择符Attribute Selectors
- ››索引分析和优化解决方案
- ››索引视图
- ››索引性能优化实例
- ››属性列表的开发
- ››属性的提取
- ››属性的编辑
更多精彩
赞助商链接