43 lines
719 B
C#
43 lines
719 B
C#
|
|
||
|
// 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;
|
||
|
}
|
||
|
}
|
||
|
|