Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

C# C# Objects Inheritance Inheritance

Did you define your Square class as an inner class of the Polygon class? Be sure to define the Square class before ?

What Am i doing wrong?

Polygon.cs
namespace Treehouse.CodeChallenges
{
    class Square : Polygon;
        {
            public Square(int numSides, int sideLength) base: 4;
            SideLength = sideLength;
        }

    class Polygon 
    {
        public readonly int NumSides;
        public readonly int SideLength;

        public Polygon(int numSides)
        {
            NumSides = numSides;
        }


    }
}

2 Answers

Switch it around. Define the Polygon class first then the Square since Square class is a sub class of Polygon.

Steven Parker
Steven Parker
231,261 Points

Here's a few hints:

  • define "Square" after "Polygon"
  • there should not be a semicolon on the "class" line
  • you still need to create the readonly field named "SideLength"
  • the colon goes before the word "base"
  • the argument to "base" should be in parentheses
  • the body of the constructor should be enclosed by a pair of braces