我只是有一个关于实例变量放置的小问题。
例子:
private void example_MouseMove(object sender, MouseEventArgs e){
//do stuff
}
c# 中的鼠标移动事件一直在轮询。有时我可能只想在鼠标位置完全移动到另一个像素时才运行其中的代码。所以我会写这个:
private void example_MouseMove(object sender, MouseEventArgs e){
if (_prevMousePosition == Cursor.Position) return;
//Do stuff
}
我的问题是:变量“_prevMousePosition”是否像往常一样位于类的顶部,还是直接位于方法的顶部,如下所示:
private Point _prevMousePosition = new Point(0, 0);
private void example_MouseMove(object sender, MouseEventArgs e){
if (_prevMousePosition == Cursor.Position) return;
//Do stuff
}
我觉得它应该位于方法之上,因为唯一可以访问它的地方是事件,并且它在方法之外的唯一目的是保留以前的鼠标位置。
另外,如果有另一种方法可以在没有实例变量的情况下实现相同的功能,我很想知道。