// Test case from bug 75270 using System; public interface I { void SetObject (string foo); } public class A { public virtual void SetObject (string foo) { Console.WriteLine ("A.SetObject {0}", foo); } } public class B : A, I { //public override void SetObject (string foo) { //Console.WriteLine ("B.SetObject {0}", foo); //} } public class C : B { public static bool ok = false; public override void SetObject (string foo) { Console.WriteLine ("C.SetObject {0}", foo); ok = true; } } public class X { public static int Main (string[] args) { I i = new C(); // Tests that C.SetObject is called here i.SetObject ("hi"); if (!C.ok) return 1; return 0; } }