a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
76 lines
670 B
C#
76 lines
670 B
C#
using System;
|
|
|
|
interface IList
|
|
{
|
|
int Count ();
|
|
}
|
|
|
|
interface ICounter
|
|
{
|
|
int Count { set; }
|
|
}
|
|
|
|
interface IListCounter: IList, ICounter
|
|
{
|
|
}
|
|
|
|
interface IA
|
|
{
|
|
int Value ();
|
|
}
|
|
|
|
interface IB : IA
|
|
{
|
|
new int Value { get; }
|
|
}
|
|
|
|
interface IC : IB
|
|
{
|
|
new int Value { get; }
|
|
}
|
|
|
|
interface IBB : IList, ICounter
|
|
{
|
|
}
|
|
|
|
interface ICC : IBB
|
|
{
|
|
}
|
|
|
|
interface IM1
|
|
{
|
|
void Add (int arg);
|
|
}
|
|
|
|
interface IM2 : IM1
|
|
{
|
|
int Add (int arg, bool now);
|
|
}
|
|
|
|
class Test
|
|
{
|
|
public static void Main ()
|
|
{
|
|
}
|
|
|
|
static void Foo (IListCounter t)
|
|
{
|
|
t.Count ();
|
|
}
|
|
|
|
void Foo2 (IC b)
|
|
{
|
|
int i = b.Value;
|
|
}
|
|
|
|
void Foo3 (ICC c)
|
|
{
|
|
c.Count ();
|
|
}
|
|
|
|
void Foo4 (IM2 im2)
|
|
{
|
|
im2.Add (2);
|
|
}
|
|
|
|
} |