public static int Indirect() { bool success = true; // The generic case. MethodsFired mfGen = MethodsFired.None; Bar bar = new Bar(); bar.FV(ref mfGen); if ((mfGen ^ (MethodsFired.Public)) != 0) { Console.WriteLine("FAIL!"); Console.WriteLine("\tExpected: {0}", MethodsFired.Public); Console.WriteLine("\tGot: {0}", mfGen); success = false; } mfGen = MethodsFired.None; Int <Bar, Foo <Bar> > ibar = bar; ibar.FV(ref mfGen); if ((mfGen ^ (MethodsFired.ExplicitInt | MethodsFired.Public)) != 0) { Console.WriteLine("FAIL!"); Console.WriteLine("\tExpected: {0}", MethodsFired.ExplicitInt | MethodsFired.Public); Console.WriteLine("\tGot: {0}", mfGen); success = false; } if (success) { Console.WriteLine("PASS"); return(PASS); } else { return(FAIL); } }
public void FV(ref MethodsFired pMF) { pMF |= MethodsFired.Public; }
void Int <Bar, Foo <Bar> > .FV(ref MethodsFired pMF) { pMF |= MethodsFired.ExplicitInt; base.FV(ref pMF); }
public virtual void FV(ref MethodsFired pMF) { pMF |= MethodsFired.Base; }