32 lines
577 B
C#
32 lines
577 B
C#
|
// (note, this is taken from `13.2.5 Interface member access')
|
||
|
interface IInteger {
|
||
|
void Add(int i);
|
||
|
}
|
||
|
|
||
|
interface IDouble {
|
||
|
void Add(double d);
|
||
|
}
|
||
|
|
||
|
interface INumber: IInteger, IDouble {}
|
||
|
|
||
|
class Number : INumber {
|
||
|
void IDouble.Add (double d)
|
||
|
{
|
||
|
System.Console.WriteLine ("IDouble.Add (double d)");
|
||
|
}
|
||
|
void IInteger.Add (int d)
|
||
|
{
|
||
|
System.Console.WriteLine ("IInteger.Add (int d)");
|
||
|
}
|
||
|
|
||
|
public static int Main ()
|
||
|
{
|
||
|
INumber n = new Number ();
|
||
|
n.Add(1);
|
||
|
n.Add(1.0);
|
||
|
((IInteger)n).Add(1);
|
||
|
((IDouble)n).Add(1);
|
||
|
return 0;
|
||
|
}
|
||
|
}
|