linux-packaging-mono/mcs/tests/test-partial-03.cs

56 lines
693 B
C#
Raw Normal View History

// Compiler options: -langversion:default
public partial class Test
{
public readonly Foo TheFoo;
public Test ()
{
this.TheFoo = new Foo ();
}
public partial interface IFoo
{
int Hello (Test foo);
}
public int TestFoo ()
{
return TheFoo.Hello (this);
}
}
public partial class Test
{
public partial class Foo : IFoo
{
int IFoo.Hello (Test test)
{
return 2;
}
public int Hello (Test test)
{
return 1;
}
}
public int TestIFoo (IFoo foo)
{
return foo.Hello (this);
}
}
class X
{
public static int Main ()
{
Test test = new Test ();
if (test.TestFoo () != 1)
return 1;
if (test.TestIFoo (test.TheFoo) != 2)
return 2;
return 0;
}
}