Ich muss eine private Referenz zu einem Unit-Objekt _Unit
hinzufügen. Beigefügt sind beide Klassen (Unit
und Result
).Eine private Referenz zu einem Objekt hinzufügen
Ich verstehe, ich brauche den Code unten haben, jedoch kommt es zu Fehlern (siehe unten):
// 14. create new class
class Result : Unit
und die unten erzeugt den Fehler, dass base()
erfordert zwei Konstruktoren:
// 17. Create constructor for the class
public Result(string grade, Unit _Unit) : base(_Unit)
In meiner Unit-Klasse gibt es zwei private Strings _Code
und _Name
. Bitte fragen Sie nach, ob Sie weitere Klassencodes oder die Aufgabenfrage benötigen.
namespace SIT232_Assignment1
{
// 14. create new class
class Result
{
// 15. Add a private reference to a Unit objectand a private string attributes.
private string _Grade, _Unit;
// 16. Encapsulate the above attributes with public read-only properties
public string Grade
{
get { return _Grade; }
}
// 17. Create constructor for the class
public Result(string grade, Unit _Unit)
{
_Grade = grade;
}
// 18. create a public read-only property of type bool
public bool Passed (string grade)
{
bool result = true;
if (_Grade == "N")
result = false;
return result;
}
// 19. Create a public static methods
public static bool ValidateGrade(string grade)
{
bool result = false;
if (_Grade == "N" || _Grade == "P" || _Grade == "C" || _Grade == "D" || _Grade =="HD")
result = true;
return result;
}
// 20. Define a ToString method
public override string ToString()
{
return String.Format("{0}\t{1}", _Grade);
}
}
namespace SIT232_Assignment1
{
// 8. Create new class
class Unit
{
// 9. Add private string attributes for the unit code and unit name
private string _Code, _Name;
// 10. Encapsulate the above attributes with public read-only properties.
public string Code
{
get { return _Code; }
}
public string Name
{
get { return _Name; }
}
// 11. Create constructor with two string parameters
public Unit(string code, string name)
{
_Code = code;
_Name = name;
}
// 27. create a private list<>
private List<Student> _EnrolledStudents = new List<Student>();
// 28. Encapsulate the above list with read-only
public ReadOnlyCollection<Student> EnrolledStudents
{
get { return _EnrolledStudents.AsReadOnly(); }
}
// 29. Create a method that accecpts a single parameter
public void RecordEnrollment(Student student)
{
_EnrolledStudents.Add(student);
}
// 30. Create a method that accecpts a single parameter
public void RemoveEnrollment(Student student)
{
_EnrolledStudents.Remove(student);
}
// 12. Define a ToString method
public override string ToString()
{
return String.Format("{0} {1}", _Code, _Name);
}
}
Darüber hinaus kann ein anderer Fehler erhalte ich, dass ich einfach nicht voll verstehen, die unter Methode hat statische sein, ich habe recherchiert, dass auch die Attribute und Eigenschaften von _Grade
statischen löst machen der Fehler zeigt auf jedem einzelnen _Grade
, aber es zeigt immer noch auf dem ersten?
if (_Grade == "N" || _Grade == "P" || _Grade == "C" || _Grade == "D" || _Grade =="HD")
public static bool ValidateGrade(string grade)
Danke, das ist perfekt. Ich entschied mich für die Antwort von Bram W bezüglich des ersten Problems. Ihre Eingabe für das zweite Problem hat jedoch den Fehler behoben. – Taz
Ich verstand Zuordnung 15 (// 15.Fügen Sie einen privaten Verweis zu einem Unit-Objekt hinzu) ein wenig mehr wie das Verbergen (Boxen), aber nicht von ihm erben, aber ok :-) – Matten