public void DelegatesHaveAnInvocationList() { FunctionalTricks f = new FunctionalTricks(); Curry adding = f.Add5; //So far we've only seen one method attached to a delegate. Assert.Equal(FILL_ME_IN, adding.GetInvocationList().Length); //However, you can attach multiple methods to a delegate adding += f.Add10; Assert.Equal(FILL_ME_IN, adding.GetInvocationList().Length); }
public void RemovingMethods() { FunctionalTricks f = new FunctionalTricks(); Curry adding = f.Add5; adding += f.Add10; Assert.Equal(2, adding.GetInvocationList().Length); //Remove Add5 from the invocation list Assert.Equal(1, adding.GetInvocationList().Length); Assert.Equal("Add10", adding.GetMethodInfo().Name); }
public void RemovingMethods() { FunctionalTricks f = new FunctionalTricks(); Curry adding = f.Add5; adding += f.Add10; Assert.Equal(2, adding.GetInvocationList().Length); adding -= f.Add5; Assert.Equal(1, adding.GetInvocationList().Length); Assert.Equal("Add10", adding.Method.Name); }