Dizin oluşturucu davranışını arayüzden eklemek mümkün müdür? BöyleDizin oluşturma davranışı bir arabirime nasıl tanımlanır?
şey:
interface IIndexable<T>
{
T this[string index];
}
Dizin oluşturucu davranışını arayüzden eklemek mümkün müdür? BöyleDizin oluşturma davranışı bir arabirime nasıl tanımlanır?
şey:
interface IIndexable<T>
{
T this[string index];
}
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;}
}
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.
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.