using System;
class Interfaces
{
public interface IDrawToScreen
{
void Draw( ) ;
}
public interface IDrawToPrinter
{
void Draw( ) ;
}
class Circle: IDrawToPrinter, IDrawToScreen
{
public void IDrawToPrinter.Draw ( ) // without public!
{
Console.WriteLine ( "Draw to printer" ) ;
}
public void IDrawToScreen.Draw ( )
{
Console.WriteLine ( "Draw to screen" ) ;
}
/*public void Draw() {
Console.WriteLine("Draaaww");
}*/
}
static void Main( )
{
Circle c = new Circle( ) ;
( c as IDrawToPrinter) .Draw ( ) ;
( c as IDrawToScreen) .Draw ( ) ;
}
}
dXNpbmcgU3lzdGVtOwoKY2xhc3MgSW50ZXJmYWNlcwp7CQoJCglwdWJsaWMgaW50ZXJmYWNlIElEcmF3VG9TY3JlZW4KCXsKCQl2b2lkIERyYXcoKTsKCX0KCQoJcHVibGljIGludGVyZmFjZSBJRHJhd1RvUHJpbnRlcgoJewoJCXZvaWQgRHJhdygpOwoJfQoJCgljbGFzcyBDaXJjbGU6IElEcmF3VG9QcmludGVyLCBJRHJhd1RvU2NyZWVuCgl7CgkJcHVibGljIHZvaWQgSURyYXdUb1ByaW50ZXIuRHJhdygpIC8vIHdpdGhvdXQgcHVibGljIQoJCXsKCQkJQ29uc29sZS5Xcml0ZUxpbmUoIkRyYXcgdG8gcHJpbnRlciIpOwoJCX0KCQkKCQlwdWJsaWMgdm9pZCBJRHJhd1RvU2NyZWVuLkRyYXcoKQoJCXsKCQkJQ29uc29sZS5Xcml0ZUxpbmUoIkRyYXcgdG8gc2NyZWVuIik7CgkJfQoJCS8qcHVibGljIHZvaWQgRHJhdygpIHsKCQkJQ29uc29sZS5Xcml0ZUxpbmUoIkRyYWFhd3ciKTsKCQl9Ki8KCX0KCQoJc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJQ2lyY2xlIGMgPSBuZXcgQ2lyY2xlKCk7CgkJKGMgYXMgSURyYXdUb1ByaW50ZXIpLkRyYXcoKTsKCQkoYyBhcyBJRHJhd1RvU2NyZWVuKS5EcmF3KCk7Cgl9Cn0K
compilation info
prog.cs(18,30): error CS0106: The modifier `public' is not valid for this item
prog.cs(23,29): error CS0106: The modifier `public' is not valid for this item
Compilation failed: 2 error(s), 0 warnings
stdout