怎么使用代表元mydelegate访问模块mypoint中的函数getDistance
代码如下:
using System;
delegate double mydelegate(mypoint i j);
interface Ipoint //定义了Ipoint接口,包含抽象的方法getDistance
{
void getDistance(mypoint thispoint);
}
class mypoint:Ipoint //定义了mypoint并继承Ipoint接口
{
public double x;
public double getx() //成员方法,返回点的坐标
{
return this.x;
}
//实现接口中定义的抽象方法getDistance
public void getDistance(mypoint thispoint)
{
double distance=(thispoint.x-this.x);
Console.Write("the Distance is {0}",distance);
}
}
class interfacetest
{
//主程序结构
public static void Main()
{
//声明并创建两个点实例
mypoint point1=new mypoint();
mypoint point2=new mypoint();
point1.x=100.0;
point2.x=-200.0;
//调用实例的getdistance方法
//point2.getDistance(point1);
//mydelegate d=new mydelegate(mypoint.getdistance);
//double distance;
//distance=d(point1 point2);
Console.Write("the Distance is {0}",distance);
Console.Write("\n");
point1.getDistance(point2);
}
}