public static void ClosedStaticDelegate() { TestClass foo = new TestClass(); foo.structField.o1 = new object(); foo.structField.o2 = new object(); StructReturningDelegate testDelegate = foo.TestFunc; TestStruct returnedStruct = testDelegate(); Assert.Same(foo.structField.o1, returnedStruct.o1); Assert.Same(foo.structField.o2, returnedStruct.o2); }
public static void TestClosedStaticDelegate() { TestClass foo = new TestClass(); foo.structField.o1 = new object(); foo.structField.o2 = new object(); StructReturningDelegate testDelegate = foo.TestFunc; TestStruct returnedStruct = testDelegate(); Assert.True(RuntimeHelpers.ReferenceEquals(foo.structField.o1, returnedStruct.o1)); Assert.True(RuntimeHelpers.ReferenceEquals(foo.structField.o2, returnedStruct.o2)); }