更改GetOutput()方法,使其返回详细信息C#

更改GetOutput()方法,使其返回详细信息C#,c#,C#,这是一种万不得已的事情。我的一个实验室里有人问了我一个问题,我有问题,我无法解决,甚至无法理解,因为我的C#真的很差! 无论如何,最初的问题是: 在类DogChorus中,更改GetOutput()方法,使其返回创建的所有狗的详细信息,包括所有狗拥有的腿数。有一个提示是“您需要调用通过类名创建的staticNoOfLegs属性。 如果有人能给我任何帮助/提示,我将不胜感激! 两个类别的代码如下: namespace HelloDogs { class Dog {

这是一种万不得已的事情。我的一个实验室里有人问了我一个问题,我有问题,我无法解决,甚至无法理解,因为我的C#真的很差! 无论如何,最初的问题是: 在类
DogChorus
中,更改
GetOutput()
方法,使其返回创建的所有狗的详细信息,包括所有狗拥有的腿数。有一个提示是“您需要调用通过类名创建的static
NoOfLegs
属性。 如果有人能给我任何帮助/提示,我将不胜感激! 两个类别的代码如下:

namespace HelloDogs
{
    class Dog
    {
        private string barkSound;
        private string breed;
        private int dogHeight;
        private static int noOfLegs;

        public static int NoOfLegs
        {
            get { return Dog.noOfLegs; }
            set { Dog.noOfLegs = value; }
        }

        public int DogHeight
        {
        get { return dogHeight; }
        set { dogHeight = value; }
        }
        private string dogColour;

        public string DogColour
        {
        get { return dogColour; }
        set { dogColour = value; }
        }

        public string Breed
        {
            get { return breed; }
            set { breed = value; }
        }
        private string dogSpeech;

        public Dog()
        {
            barkSound = "Woof!";
            breed = "cocker spaniel";
            dogHeight = 25;
            dogColour = " White";
        }

     private bool isBig (int y)
        {
            int dogHeight = y;
            if(dogHeight <50)
            {
                return false;
            }
            else
            {
                return true;
            }
        }

     public string GetSpeech(int theDog)
     {
         if (isBig(theDog))
         {

             dogSpeech = "Hello. I am a " + breed + ". I am big.  " + "I am " + dogHeight + " cm high! " +
             "My coat is " + dogColour + barkSound;
             return dogSpeech;

         }
         else
         {

             dogSpeech = "Hello. I am a " + breed + ". I am small. " + "I am " + dogHeight + " cm high! " +
             "My coat is " + dogColour + barkSound;
             return dogSpeech;
         }
     }

        public void SetSound(String barkSound)
        {
            this.barkSound = barkSound;
        } 
            public Dog(int dogHeight, string dogColour, string breed)
            {
                this.dogHeight = dogHeight;
                this.dogColour = dogColour;
                this.breed = breed;
            }
        }
    }

namespace HelloDogs
{
    class DogChorus
    {
        Dog lady;
        Dog tramp;
        Dog griff;
        Dog lass;

        public DogChorus()
        {
            lady = new Dog();
            tramp = new Dog();
            griff = new Dog();
            lass = new Dog();
            tramp.SetSound("Ruff!");
            lass.SetSound("Howl!");
        }

        public string GetOutput()
        {
            return Dog.GetSpeech() + " \n " + Dog.NoOfLegs() + " \n " + Dog.Getbreed();
        }
    }
}
namespace HelloDogs
{
班犬
{
私人弦乐;
私家犬;
私人身高;
私有静态内部节点;
公共静态节点
{
获取{return Dog.noOfLegs;}
设置{Dog.noOfLegs=value;}
}
公共净高
{
获取{return doghight;}
设置{doghight=value;}
}
私家弦斗狗;
公共字符串狗颜色
{
获取{return dogColour;}
设置{dogColour=value;}
}
公弦品种
{
获取{返回品种;}
设置{bride=value;}
}
私语;
公犬()
{
汪汪;
繁殖=“可卡猎犬”;
狗高=25;
dogcolor=“白色”;
}
私人住宅面积大(国际)
{
int doghight=y;

如果(dogHeight您当前有此行:

return Dog.GetSpeech() + " \n " + Dog.NoOfLegs() + " \n " + Dog.Getbreed();
虽然
NoOfLegs
是一个静态属性,
GetSpeech
Breed
不是。(
Getbreed
甚至没有在任何地方声明)。这两个属性应该通过一个实例来访问,例如
lady.Breed
,以获取特定狗的数据

因此,您需要访问每个实例的
GetSpeech
Breed
调用。也就是说:
lady
tramp
griff
lass

另外,由于
NoOfLegs
bride
是属性,而不是方法,因此不需要在末尾加括号。只需
Dog.NoOfLegs
lady.bride

另外,
GetSpeech()
方法需要重新编写。它可能不需要任何参数


祝你好运。

虽然家庭作业帮助在StackOverflow问题上(通常)是不受欢迎的,但针对这样一个特定(更不用说简单)问题的家庭作业帮助往往会有点不受欢迎。你应该首先诚实地努力,然后如果你仍然有一个特定的问题,你可以回来就特定的问题寻求帮助。(具体问题是错误消息等。)练习的目的是让你试着弄明白并学习一些东西:这句话
它返回所有创建的狗的详细信息,包括腿的数量
意味着应该返回狗的属性
狗的身高、品种、颜色
。现在你有几个选项来更改
GetOutput()你能描述一下你尝试过的和你被卡住的地方吗?这个问题看起来像是一个代码编写服务的请求。请考虑重新格式化并包括你的代码片段,只强调一个有问题的部分。最多的,现在仍然是,是针对这个特定部分的:公共字符串GetOutput(){return Dog.GetSpeech()+“\n”+Dog.NoOfLegs()+“\n”+Dog.getbride();}GetSpeech的错误是没有重载,因为GetSpeech接受0个参数。@user3191460这是因为
GetSpeech
要求您将其作为一个实例方法引用,并为
theDog
提供一个
int
值。它的使用示例(我能收集到的最好结果):
lady.GetSpeech(lady.doghight)