static void Box() { object o = new MutValueType { val = 300 }; ((MutValueType)o).Increment(); ((MutValueType)o).Increment(); }
static void Field() { ReadonlyField.Increment(); ReadonlyField.Increment(); MutableField.Increment(); MutableField.Increment(); // Ensure that 'v' isn't incorrectly removed // as a compiler-generated temporary MutValueType v = MutableField; v.Increment(); Console.WriteLine("Final value in MutableField: " + MutableField.val); }
public static void Main() { MutValueType m = new MutValueType(); RefParameter(ref m); ValueParameter(m); Field(); Box(); var gvt = new GenericValueType <string>("Test"); gvt.Call(ref gvt); new Program().InstanceFieldTests(); }
static void ValueParameter(MutValueType m) { m.Increment(); m.Increment(); }
static void RefParameter(ref MutValueType m) { m.Increment(); m.Increment(); }