如何为接口定义索引器行为?

Chr*_*ove 27 c# interface

是否可以从接口添加索引器行为?

这样的事情:

interface IIndexable<T>
{
   T this[string index];
}
Run Code Online (Sandbox Code Playgroud)

Est*_*aya 36

对的,这是可能的.事实上,你所缺少的只是索引器上的getter/setter.只需添加如下:

interface IIndexable<T>
{
     T this[string index] {get; set;}
}
Run Code Online (Sandbox Code Playgroud)


Bro*_*ass 11

来自MSDN:

public interface ISomeInterface
{
    //...

    // Indexer declaration:
    string this[int index]
    {
        get;
        set;
    }
}
Run Code Online (Sandbox Code Playgroud)

索引器可以在接口上声明(C#Reference).接口索引器的访问器在以下方面与类索引器的访问器不同:

  • 接口访问器不使用修饰符.
  • 接口访问器没有正文.