C#だったら、propertyの機能で
obj.value = 1 で
obj.setValue(1) と解釈されるから、

まさに、
> var a = 1;
> a = "a";
これがそのまま実装できるな。