【发布时间】:2012-04-23 12:14:28
【问题描述】:
我想跟踪我的类中在范围之外创建的变量。在 C++ 中,我只需像这样传递一个指针。
class Camera
{
Player* player;
Position pos;
void setFollow(Player* pl) { pl = player; }
void update() { pos = pl->getPos(); }
}
int Main()
{
Camera* camera = new Camera();
Player* player = new Player();
camera->setFollow(player);
}
在 C# 中,我尝试通过引用传递,但它似乎不起作用。
public class Game1 : Microsoft.Xna.Framework.Game
{
Camera cam = new Camera();
Player player = new Player();
cam.setFollow(ref player); // <-- by reference
}
这只是我实际代码的缩短版本。
感谢您的帮助。
编辑:感谢大家提供的信息。
【问题讨论】:
-
那只会按值传递,不是吗?所以当播放器更新时,相机不会更新。
-
阅读答案有很多解释
-
“没用”不是很有帮助。你期望它做什么,它做了什么?此外,发布
Camera的 C# 版本及其setFollow方法可能会有所帮助。
标签: c# variables reference parameters