class Program { public static int Main () { MyColor [] c = new MyColor [1]; c [0] += new MyColor (1.3F); c [0] += new MyColor (1.5F); if (c [0].Value != 2.8F) return 1; return 0; } public struct MyColor { private float _value; public MyColor (float value) { _value = value; } public float Value { get { return _value; } } public static MyColor operator + (MyColor a, MyColor b) { return new MyColor (a._value + b._value); } } }