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

How to access a property of an object within an object C#

我正在尝试制作一个代码,在使用上述功能之前读取对象的对象 属性。在这种情况下,它读取技能的冷却时间,然后在冷却时间为零时施放技能。但是,我无法在不遇到错误的情况下将代码获取到 运行。它不会让我访问 属性.

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
        }
    }
}

因为您的 bark 对象仅在构造函数范围内可用。

我想你可以尝试让 bark 成为一个字段或 属性 在 Pug class

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
        }
    }
}