我看接口(二)
1.声明一个接口
interface Comp
{
bool Comp1(int i, int j);
}
2.实现接口
class Incomp : Comp
{
public bool Comp1(int i, int j)
{
return i > j;
}
}
3.委托传递方法名,接口传递实现接口的类名
static void Main(string[] args)
{
List<int> list1 = new List<int>();
list1.Add(10);
list1.Add(20);
list1.Add(30);
list1.Add(-15);
int j = list2(list1, new Incomp());//实例化一个类,把实现接口的类得对象传递过去
Console.WriteLine(j);
Console.ReadKey();
}
4.
static int list2(List<int> list1, Comp c)//接口的对象来接收实现接口的类得对象。
{
int max = list1[0];
List<int> list2 = new List<int>();
foreach (int i in list1)
{
if (c.Comp1(max,i)) 接口的对象.接口实现的方法
{
max = i;
}
}
return max;
}