using System; interface A { string this [string s] { get; } } interface B : A { void Test (); } class X : B { public string this [string s] { get { return s; } } public void Test () { } } public class Y { public static void Main () { B b = new X (); string s = b ["test"]; } }