是否可以从界面添加索引器行为?
类似的东西:
interface IIndexable<T>
{
T this[string index];
}
答案 0 :(得分:34)
是的,有可能。事实上,你所缺少的只是索引器上的getter / setter。只需添加如下:
interface IIndexable<T>
{
T this[string index] {get; set;}
}
答案 1 :(得分:11)
来自MSDN:
public interface ISomeInterface
{
//...
// Indexer declaration:
string this[int index]
{
get;
set;
}
}
可以在接口上声明索引器(C#Reference)。的访问者 接口索引器与类索引器的访问器不同 以下方式:
- 接口访问器不使用修饰符。
- 界面访问者没有正文。
答案 2 :(得分:2)
更通用的接口(取自IDictionary<,>
)将是:
interface IIndexable<TKey, TValue>
{
TValue this[TKey key] { get; set; }
}
我只是想知道为什么他们没有将它包含在mscorlib中,所以IDictionary可以实现它。这将是有道理的。