#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 свойствами.
Комментариев нет:
Отправить комментарий