这段代码与上边的主要区别是change方法由
1
|
IChageBoxedPoint接口定义,Point类型实现了这个接口。 |
1
2
3
|
//对p进行装箱,更改已装箱的对象,然后丢弃它; ((IChageBoxedPoint)p).Change(4, 4); Console.WriteLine(p); //显示(2,2) |
1
|
这里未装箱的Point p 转型为IChangeBoxedPoint,这个转型造成对p的值进行装箱,然后已装箱的值上调用Change,这确实让m_x,m_y变成了4,4,<br>但是,在Change返回之后,已装箱的对象立即装备好进 |