1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
//
// This test checks if we implement all the interfaces inherited
//
interface IA {
void A ();
}
interface IB : IA {
void B ();
}
interface IC : IA, IB {
void C ();
}
interface ID : IC {
}
class AA : IC {
bool a, b, c;
public void A () { a = true; }
public void B () { b = true; }
public void C () { c = true; }
public bool OK {
get {
return a && b && c;
}
}
}
class BB : ID{
bool a, b, c;
public void A () { a = true; System.Console.WriteLine ("A"); }
public void B () { b = true; }
public void C () { c = true; }
public bool OK {
get {
return a && b && c;
}
}
}
class T: IB {
public void A () {}
public void B () {}
public static int Main() {
BB bb = new BB ();
bb.A ();
bb.B ();
bb.C ();
if (!bb.OK)
return 1;
AA aa = new AA ();
aa.A ();
aa.B ();
aa.C ();
if (!aa.OK)
return 2;
return 0;
}
}
|