您的位置:首页 > 其它

接口修改已装箱的字段

2013-09-10 16:08 323 查看
// 定义一个接口
interface IChangeBoxedPoint
{
void Change(int x, int y);
}

internal struct Point:IChangeBoxedPoint
{
private int m_x;
private int m_y;
public Point(int x,int y)
{
m_x = x;
m_y = y;
}
public void Change(int x, int y)
{
m_x = x;
m_y = y;
}
public override string ToString()
{
return String.Format("{0},{1}", m_x, m_y);
}
}


class Program
{
static void Main(string[] args)
{
Point p=new Point(1,1);
Console.WriteLine(p);
p.Change(2, 2);
Console.WriteLine(p);
object o = p;
Console.WriteLine(o);
((Point)o).Change(3, 3);
Console.WriteLine(o);
((IChangeBoxedPoint)o).Change(3, 3);
Console.WriteLine(o);
((IChangeBoxedPoint)o).Change(4, 4);
Console.WriteLine(o);
((IChangeBoxedPoint)o).Change(5,5);
Console.WriteLine(o);
}
}


  输出为:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: