2016-02-16 1 views
0

Я новичок в C# (я начал в январе), и мне нужна помощь в моем коде, который я пишу. На всех линиях, которые приходят с ошибкой, это говоритЧто конкретно не с моим кодом?

ожидается класс, делегат, перечисление, интерфейс или структура

Вот мой код:

using System; 

namespace pawlowski_Catherine_Lab3 

{ 
    public class Course 
    { 
     protected string description; 
     protected string prefix; 
     protected double number; 
     protected double hours; 

    } 
    public Course() 
    { 
     this.hours="3.00"; 
    } 
    public Course(string description, string prefix, double number, double hours) 
    { 
     this.description=description; 
     this.prefix=prefix; 
     this.number=number; 
     this.hours=hours; 
    } 
    public override string ToString() 
    { 
     return string.Format ("Course: "+prefix+"\nCourse Number: "+number+"\nDescription: "+description+"\nCredit hours: "+hours); 
    } 
} 

Довольно много, где ошибки есть, находятся на чем-либо, говорящем публике в начале, кроме первого. Пожалуйста, помогите мне выяснить, что конкретно я делаю неправильно, поэтому я могу исправить это сам в будущем.

+6

У вас есть дополнительный '}' перед первым конструктором ('публичный курс()') – Steve

+0

Привет и добро от собрат (мимо) житель Кеннесо :), пожалуйста, подумайте о том, чтобы быть более конкретными в отношении ошибок. Дайте фактический вывод журнала ошибок. – ChiefTwoPencils

+0

Если вы отступаете от кода, это должно быть довольно легко обнаружить ошибку. В Visual Studio: Редактировать -> Дополнительно -> Формат документа. –

ответ

2

Это, вероятно, закрываются, так:

Вот что вы (отформатированные):

using System; 

namespace pawlowski_Catherine_Lab3 { 
    public class Course { 
     protected string description; 
     protected string prefix; 
     protected double number; 
     protected double hours; 

    } 
    public Course() { 
     this.hours = "3.00"; 
    } 
    public Course(string description, string prefix, double number, double hours) { 
     this.description = description; 
     this.prefix = prefix; 
     this.number = number; 
     this.hours = hours; 
    } 
    public override string ToString() { 
     return string.Format("Course: " + prefix + "\nCourse Number: " + number + "\nDescription: " + description + "\nCredit hours: " + hours); 
    } 
} 

Вот что вы должны иметь (конструктор и методы являются частью класса):

using System; 

namespace pawlowski_Catherine_Lab3 { 
    public class Course { 
     protected string description; 
     protected string prefix; 
     protected double number; 
     protected double hours; 

     public Course() { 
      this.hours = "3.00"; 
     } 
     public Course(string description, string prefix, double number, double hours) { 
      this.description = description; 
      this.prefix = prefix; 
      this.number = number; 
      this.hours = hours; 
     } 
     public override string ToString() { 
      return string.Format("Course: " + prefix + "\nCourse Number: " + number + "\nDescription: " + description + "\nCredit hours: " + hours); 
     } 
    } 
} 

Правильный отступ - ваш друг здесь.

+0

Да, я думаю, я понял это сейчас! Большое вам спасибо за помощь! –

1

В строках здесь:

public class Course 
{ 
    protected string description; 
    protected string prefix; 
    protected double number; 
    protected double hours; 
} // Get rid of this line here 
public Course() 
{ 
    ... 
+0

Ах, да, я думаю, я понимаю, почему это не полезно. Это потому, что нет линии, преобразующей ее туда, где компьютер может ее прочитать, не так ли? Большое вам спасибо за ваш ответ! –

1

Объявите ваш подрядчик и метод внутри рамки класса.

Заменить код с этим

using System; 

namespace pawlowski_Catherine_Lab3 
{ 
    public class Course 
    { 
     protected string description; 
     protected string prefix; 
     protected double number; 
     protected double hours; 

     public Course() 
     { 
      this.hours="3.00"; 
     } 
     public Course(string description, string prefix, double number, double hours) 
     { 
      this.description=description; 
      this.prefix=prefix; 
      this.number=number; 
      this.hours=hours; 
     } 
     public override string ToString() 
     { 
      return string.Format ("Course: "+prefix+"\nCourse Number:  "+number+"\nDescription: "+description+"\nCredit hours: "+hours); 
     } 
    } 
} 
+0

Фантастический, я думаю, что я понял это сейчас! Большое вам спасибо за ваш ответ! –

2

Вы должны поместить все методы и свойства внутри класса декларации.

Что-то вроде:

using System; 
namespace pawlowski_Catherine_Lab3 
{ 
    public class Course 
    { 
     protected string description; 
     protected string prefix; 
     protected double number; 
     protected double hours; 

     public Course() 
     { 
      this.hours="3.00"; 
     } 
     public Course(string description, string prefix, double number, double hours) 
     { 
      this.description=description; 
      this.prefix=prefix; 
      this.number=number; 
      this.hours=hours; 
     } 
     public override string ToString() 
     { 
      return string.Format ("Course: "+prefix+"\nCourse Number: "+number+"\nDescription: "+description+"\nCredit hours: "+hours); 
     } 
    } 
} 
+0

Это должен быть комментарий. Не ответ –

+0

@AlexJolig Я буду, если в нем нет кода. – Mainul

+2

Хорошо. Это больше похоже на ответ сейчас (* добавив некоторые коды к вашему сообщению *) –

Смежные вопросы