全局变量与设置功能

时间:2015-07-20 16:58:20

标签: c# function oop global-variables global

我正在寻找在另一个类中更改变量值的最佳编程实践。

例如,如果我有一个布尔值来确定一个敌人是否面向左边,那么最好的方法是什么呢?

A

*outside of Class*
Class.Right = false;

*inside of Class*
public Right = true;

*outside of Class*
Class.setRight(false);

*inside of Class*
private Right = true;
public void setRight (right) {
    Right = right;
}

另外,我已经读过你应该避免一起使用全局变量,但是你应该在这种情况下使用它,因为它在类中的多个函数中使用,对吗?

1 个答案:

答案 0 :(得分:0)

使用枚举,您可以采用其设置方式(我们需要了解实施细节以提供具体建议)。

public enum DirectionType{ Right, Left };

public class Enemy
{
    public DirectionType Direction{ get; set; }

    public void HoneInOnHero()
    {
        //Hero's function can help determine position relative to the enemy.
        this.Direction = Hero.GetRelativeDirection(this);
    }
}

var enemy = new Enemy();
enemy.Direction = DirectionType.Left;
//or...
if(attackMode)
    enemy.HoneInOnHero();