
Ashish Kumar
1,182 PointsThe Polygon class represents a 2 dimensional shape. It has a public field named NumSides. Create a new type of polygon c
Hey Team,
I am new to C#, need a bit of help in understanding the completing this question. I keep on getting with the attached code.
namespace Treehouse.CodeChallenges
{
class Polygon
{
public readonly int NumSides;
public Polygon(int numSides)
{
NumSides = numSides;
}
}
class Square : Polygon
{
public readonly int SideLength;
public Square(int sideLength)
{
base.Numsides = 4;
}
}
}
1 Answer

Steven Parker
177,483 PointsSince "NumSides" (note: spelled with capital "S") is readonly, it cannot be assigned to except by calling the base constructor. This is done with the colon syntax when defining the derived class constructor:
public Square(int sideLength) : base(4)
Ashish Kumar
1,182 PointsAshish Kumar
1,182 PointsHi Steven,
Thanks for the response. I did try the above syntax and now I started to get a new error:
"Polygon.cs(14,5): error CS1519: Unexpected symbol `}' in class, struct, or interface member declaration"
Code:
namespace Treehouse.CodeChallenges { class Polygon { public readonly int NumSides;
}
Steven Parker
177,483 PointsSteven Parker
177,483 PointsThe constructor still needs a body in which the argument will be stored in the field, similar to what is done in the "Polygon" class.