【发布时间】:2010-05-05 13:19:47
【问题描述】:
您可能知道,墙矩形不会更新,因为它是副本而不是参考。有没有办法让我引用或指向 r 而不会更改此代码?我想我可以在函数中进行查找/替换,但我尽量不这样做。
//code to get wall
var r = wall.r;
//more code
r.Height += yDif;
【问题讨论】:
-
我很难理解这个问题。什么是“墙”?
您可能知道,墙矩形不会更新,因为它是副本而不是参考。有没有办法让我引用或指向 r 而不会更改此代码?我想我可以在函数中进行查找/替换,但我尽量不这样做。
//code to get wall
var r = wall.r;
//more code
r.Height += yDif;
【问题讨论】:
它不会起作用,你已经知道为什么了。避免复制或简单地存储副本:
//more code
r.Height += yDif;
wall.r = r;
【讨论】:
这当然需要一个 setter。
//code to get wall
var r = wall.r;
//more code
r.Height += yDif;
wall.r = r;
【讨论】:
你为什么不直接更新墙矩形?
//code to get wall
var r = wall.r;
//more code
wall.r.Height += yDif;
【讨论】: