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 70
|
public interface IFoo {
public abstract void i1 ();
}
public interface IBar {
public abstract void i2 ();
}
public partial class Foo : Object {
public string p0 { get; set; }
public string f0;
public void m0 () {
}
public virtual void v0 () {
}
public virtual signal void s0 () {
}
}
public partial class Foo : IFoo {
public string p1 { get; set; }
public string f1;
public void m1 () {
}
public virtual void v1 () {
}
public virtual signal void s1 () {
}
public void i1 () {
}
}
public partial class Foo : IBar {
public string p2 { get; set; }
public string f2;
public void m2 () {
}
public virtual void v2 () {
}
public virtual signal void s2 () {
}
public void i2 () {
}
}
void main () {
var foo = new Foo ();
foo.p0 = "p0";
foo.f0 = "f0";
foo.m0 ();
foo.v0 ();
foo.s0 ();
foo.p1 = "p1";
foo.f1 = "f1";
foo.m1 ();
foo.v1 ();
foo.s1 ();
foo.p2 = "p2";
foo.f2 = "f2";
foo.m2 ();
foo.v2 ();
foo.s2 ();
assert (foo is IFoo);
foo.i1 ();
assert (foo is IBar);
foo.i2 ();
}
|