#c_sharp #компилятор
Я использую VS 2012
error CS0840: Pisos.Rectangle.Area.get должен декларировать тело, так
как оно не отмечено как абстрактное или внешнее. Автоматически
реализованные свойства должны определять функции доступа get и set.
class Program
{
static void Main()
{
Rectangle rectangle = new Rectangle(10, 20);
double a = rectangle.AreaCalc(rectangle.side1, rectangle.side2);
double b = rectangle.PerimeterCalc(rectangle.side1, rectangle.side2);
Console.WriteLine(a);
Console.WriteLine(b);
Console.ReadKey();
}
}
class Rectangle
{
public double side1, side2;
public Rectangle(double side1, double side2)
{
this.side1 = side1;
this.side2 = side2;
}
double Area { get; }
double Perimeter { get; }
public double AreaCalc(double side1, double side2)
{
double Ar = side1 * side2;
return Ar;
}
public double PerimeterCalc(double side1, double side2)
{
double Per = 2 * (side1 + side2);
return Per;
}
}
Ответы
Ответ 1
В C# версии младше 6 автосвойства только для чтения (содержат только get) не поддерживаются. Варианта два: Используйте VS 2015 (в ней используется компилятор для C# 6). Добавьте private set. Это более правильный вариант, учитывая, что, судя по коду, эти свойства не являются readonly свойствами.
Комментариев нет:
Отправить комментарий