2012-03-06 17 views

cevap

27

Evet, bu mümkün. Aslında, eksik olan her şey, dizinleyicinizdeki alıcı/ayarlayıcıdır. şöyle Sadece ekleyin:

interface IIndexable<T> 
{ 
    T this[string index] {get; set;} 
} 
10

MSDN Gönderen:

public interface ISomeInterface 
{ 
    //... 

    // Indexer declaration: 
    string this[int index] 
    { 
     get; 
     set; 
    } 
} 

Dizinleyiciler bir arayüz (C# Reference) ilan edilebilir. arayüz Dizinleyicilere ait Erişimciler aşağıdaki şekillerde sınıf Dizinleyicilere arasında erişimcilerine farklıdır:

  • Arayüz erişimcileri değiştiriciler kullanmayın.
  • Arabirim erişimcisinin bir gövdesi yoktur.
1

Biraz (IDictionary<,> alınan) daha genel bir arayüz, şöyle olacaktır:

interface IIndexable<TKey, TValue> 
{ 
    TValue this[TKey key] { get; set; } 
} 

onlar mscorlib bunu içermiyordu neden ıdictionary uygulamak diye ben sadece merak ediyorum. Mantıklı olurdu.