接口中的索引器
C# 编程指南
接口中的索引器(C# 编程指南)
索引器可在接口(C# 参考)上声明。接口索引器的访问器与类索引器的访问器具有以下方面的不同:
-
接口访问器不使用修饰符。
-
接口访问器没有体。
因此,访问器的用途是指示索引器是读写、只读还是只写。
以下是接口索引器访问器的示例:
C#
public interface ISomeInterface { //... // Indexer declaration: string this[int index] { get; set; } }
一个索引器的签名必须区别于在同一接口中声明的其他所有索引器的签名。
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
下面的示例显示如何实现接口索引器。
C#
// Indexer on an interface: public interface ISomeInterface { // Indexer declaration: int this[int index] { get; set; } } // Implementing the interface. class IndexerClass : ISomeInterface { private int[] arr = new int[100]; public int this[int index] // indexer declaration { get { // Check the index limits. if (index < 0 || index >= 100) { return 0; } else { return arr[index]; } } set { if (!(index < 0 || index >= 100)) { arr[index] = value; } } } } class MainClass { static void Main() { IndexerClass test = new IndexerClass(); // Call the indexer to initialize the elements #2 and #5. test[2] = 4; test[5] = 32; for (int i = 0; i <= 10; i++) { System.Console.WriteLine("Element #{0} = {1}", i, test[i]); } } }