C#指代的功能介绍
在向大家详细介绍C#指代之前,首先让大家了解下C#对象索引机制,然后全面介绍C#指代。
C#对象索引机制(Indexer)
C#中引入了对象索引机制。说得明白点,对象索引其实就是对象数组。这里和上一节中的属性联系起来讲一下,属性需要隐藏Get和Set方法,而在索引机制中,各个对象的Get或者Set方法是暴露出来的。比如下面的例子就比较清楚地说明了这一点。
public class Skyscraper { Story[] stories; public Story this [int index] { get { return stories [index]; } set { if (value != null) { stories [index] = value; } } } ... }
C#指代(Delegate)
C#指代这个玩意很特别,它有点象指针,但又不完全是,不过大家还是可以把它理解为一种类型安全的、面向对象的指针。(什么是类型安全和面向对象就不用讲了吧?)顺便提一句,有很多书上把Delegate翻译成代理,我觉得这样翻不够确切,翻译成“指代”更恰当些,道理上吻合,并且还符合它的本来意思――微软本来就是用Delegate来“取代指针”,所以叫“指代”,呵呵。