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"];
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGludGVyZmFjZSBJUmVhZAogICAgewogICAgICAgIGZsb2F0IHRoaXNbc3RyaW5nIG5hbWVdIHsgZ2V0OyB9CiAgICB9CiAKICAgIHB1YmxpYyBpbnRlcmZhY2UgSVdyaXRlCiAgICB7CiAgICAgICAgZmxvYXQgdGhpc1tzdHJpbmcgbmFtZV0geyBzZXQ7IH0KICAgIH0KIAogICAgcHVibGljIGNsYXNzIEltcGwgOiBJUmVhZCwgSVdyaXRlCiAgICB7CiAgICAgICAgcHVibGljIGZsb2F0IHRoaXNbc3RyaW5nIG5hbWVdCiAgICAgICAgewogICAgICAgICAgICBnZXQgeyByZXR1cm4gMDsgfQogICAgICAgICAgICBzZXQgeyB9CiAgICAgICAgfQogICAgfQogICAgCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCSAgICBJbXBsIGltcGwgPSBuZXcgSW1wbCgpOwoJICAgIGltcGxbInRlc3QiXSA9IDQyOwoJICAgIGZsb2F0IHggPSBpbXBsWyJ0ZXN0Il07Cgl9Cn0=