using System; public interface IRead { float this[string name] { get; } } public interface IWrite { float this[string name] { set; } } public class Impl : IRead, IWrite { public float this[string name] { get { return 0; } set { } } } public class Test { public static void Main() { Impl impl = new Impl(); impl["test"] = 42; float x = impl["test"]; } }