Anfänger: Rückgabe einer Klasse
- 
					
					
					
					
 Hallo, ich habe mir eine Klasse geschrieben, die eine Datei auslesen und den Inhalt verwalten soll. Die Klasse sieht wie folgt aus: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace Zeitmanagement { class DataFile { private string DataFilePath = ""; private int nTasks = 0; public int TasksCount() { return this.nTasks; } public DataFile(string fDataPath) { if (File.Exists(fDataPath)) { DataFilePath = fDataPath; StreamReader myFile = new StreamReader(DataFilePath, System.Text.Encoding.Default); while (!myFile.EndOfStream) { this.nTasks++; } } } } }Die Funktion "TasksCount" soll also die Anzahl der Zeilen, welche die gelesen Datei beinhaltet zurückgeben. Nun möchte ich diesen Wert checken und schreibe folgende Funktion in meine Main Funktion: /*Connecting Data File*/ if (File.Exists(DataPathPublic)) { DataFile DataPublic = new DataFile(DataPathPublic); DataFilePublicConnected = true; int nTP = (int)DataPublic.TasksCount; //Fehler Console.WriteLine("Number of public tasks: " + nTP); }In der vorletzten Zeile beschwert sich mein Compiler. Folgender Fehler: 
 "Die Methodengruppe 'TaskCount' kann nicht in den Nichtdelegattyp 'int' konvertiert werde."Kann mir jemand bitte helfen? Grüße, 
 CJens
 
- 
					
					
					
					
 Hier ein Beispiel aus einem Lehrbuch: namespace KlasseObjekt { class Fahrzeug { private int geschwindigkeit; public string ausgabe() { return "Geschwindigkeit: " + geschwindigkeit; } public void beschleunigen(int wert) { this.geschwindigkeit += wert; } } }Hier kann man ein int direkt in einen String unwandeln. 
 Ich habe meine Methode umgeschrieben:public string TasksCount() { return nTasks.ToString(); }...nichtmal das funktioniert! 
 
- 
					
					
					
					
 Dir fehlen die Klammern, da du eine Methode aufrufen willst: int nTP = (int)DataPublic.TasksCount(); //Beachte die ()
 
- 
					
					
					
					
  Manchmal sieht man den Wald vor lauter Bäumen nicht. Vielen Dank.