如何在对象C#中访问对象的属性

时间:2018-09-29 20:41:26

标签: c# c#-4.0

我正在尝试编写一个代码,以在使用所述功能之前读取对象的对象属性。在这种情况下,它将读取技能的冷却时间,然后在冷却时间等于零时施放该技能。但是,如果没有遇到错误,我将无法运行代码。它不会让我访问该属性。

public class Pug : Dogs
{
    public Pug()
    {
        ability bark = new Ability();
        bark.cooldown = 2;
    }

    public void PugBark()
    {
        if (bark.cooldown == 0)//error occurs on this line
        {
            //He Barks
        }
    }
}

1 个答案:

答案 0 :(得分:3)

由于您的bark对象是构造函数范围中唯一可用的对象。

我认为您可以尝试让bark成为Pug类中的字段或属性

public class Pug : Dogs , ThingsDogsDo
{
    private Ability bark;

    public Pug()
    {
        bark = new Ability();
        bark.cooldown = 2;
    }

    public void PugBark()
    {
        if (bark.cooldown == 0)//error occurs on this line
        {
            //He Barks
        }
    }
}