未分配的局部变量 - 类的错误设置?

时间:2018-06-14 16:42:04

标签: c#

我希望有人能解释为什么我在下面的代码中收到此消息。稍后,我希望应用程序的用户使用console.readline选择要生成的动物,然后设置名称。但在实现之前,我想设置类并测试打印功能。

  

错误消息:“使用未签名的局部变量”rocky“

namespace GameApp
{
    class Program
    {
        //base class
        class Animal
        {

            public string name;
            public int age;
            public int health;

            public void PrintInfo()
            {
                Console.WriteLine("Name: " + name);
                Console.WriteLine("Age: " + age);
                Console.WriteLine("Health: " + health);
            }
        }
        //tiger class
        class Tiger : Animal
        {
            public Tiger()
            {
                age = 22;
                health = 8;
                name = "input fom player";
            }


        }
        //lion class
        class Lion : Animal
        {

        }


        static void Main(string[] args)
        {
            //test the print function
            Tiger rocky = new Tiger()
            {
                rocky.PrintInfo();

            }

        }
    }
}

1 个答案:

答案 0 :(得分:3)

查看Object Initializers的文档。

  

对象初始值设定项允许您在创建时为对象的任何可访问的字段或属性赋值,而无需调用构造函数,后跟赋值语句行。

您无法从对象初始值设定项中调用方法。

尝试更改此内容:

Tiger rocky = new Tiger()
{
    rocky.PrintInfo();
}

对此:

Tiger rocky = new Tiger();
rocky.PrintInfo();