Snees (20.11.2011)
Thema: [C#] Klassenbeispiel
- 
	19.11.2011, 12:27 #1 [C#] Klassenbeispiel [C#] KlassenbeispielHallo, ich beschäftige mich momentan mit C# und habe eine kleine Klasse geschrieben, um die Arbeit damit zu veranschaulichen. 
 
 Eventuell kann es ja jemand von euch gebrauchen.
 
 Downloader.cs
 Program.csCode:/* * Eine einfache Klasse * am Beispiel eines Webclienten mit der DownloadString() Methode * Autor: Nico @ U-Hacks.net */ using System.Net; namespace ConsoleApplication1 { class Downloader { /// <summary> /// Quelltext wird in diesem String gespeichert /// </summary> public string Quelltext { get; set; } /// <summary> /// Downloader /// </summary> public Downloader() { } /// <summary> /// Quelltext herunterladen und in einer Variablen speichern /// </summary> /// <param name="_url">Die URL der Website</param> /// <returns></returns> public string get_quelltext(string _url) { WebClient client = new WebClient(); try { Quelltext = client.DownloadString(_url); } catch { Quelltext = "Es ist ein Fehler aufgetreten. Überprüfen Sie Ihre Eingabe."; } return Quelltext; } } }
 Der Code dürfte sich von selber erklären, falls nicht, einfach fragen :}Code:/* * Eine einfache Klasse * am Beispiel eines Webclienten mit der DownloadString() Methode * Autor: Nico @ U-Hacks.net */ using System; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Downloader DL = new Downloader(); Console.WriteLine("Bitte die URL eingeben. (z.B. http://google.de)"); string input = Console.ReadLine(); string quelltext = DL.get_quelltext(input); /* Alternativ kann man den Quelltext auch z.B. in einer Windows Forms Anwendung * in einer RichTextBox oder MessageBox oder wie auch immer anzeigen lassen */ Console.WriteLine(quelltext); Console.ReadKey(); } } }
 
- 
	19.11.2011, 17:05 #2Nachrichtendienst  
 - Registriert seit
- 09.11.2011
- Beiträge
- 129
 Thanked 141 Times in 52 Posts AW: [C#] Klassenbeispiel AW: [C#] KlassenbeispielWarum hast du den Quelltext in einer globalen Variable, während du eine Funktion hast, die dir den Quelltext sofort zurückgibt (String)? 
 
 MfG
 
- 
	19.11.2011, 17:13 #3 AW: [C#] Klassenbeispiel AW: [C#] KlassenbeispielIst mir auch aufgefallen, das liegt daran, dass ich die Klasse vorher etwas anders gestaltet habe, sie dann aber umgeschrieben habe   
 
- 
	20.11.2011, 13:28 #4U-Labs Legende    
 - Registriert seit
- 26.10.2011
- Beiträge
- 1.196
- Blog Entries
- 2
 Thanked 1.598 Times in 726 Posts AW: [C#] Klassenbeispiel AW: [C#] KlassenbeispielLaut den Microsoft-Richtlinien sollte der Anfangsbuchstabe bei einer Methode immer Groß geschrieben werden. Nennt man auch Pascal-Schreibweise. 
 Auch sollte man - meiner Meinung nach - Unterstriche "_" in Methodennamen vermeiden.
 
 In deinem Beispiel sollte "get_quelltext" also "GetQuelltext" heißen.
 
 Siehe
 - Richtlinien für die Verwendung von Methoden
- Richtlinien für die Benennung von Methoden
- Formate für die Großschreibung
 
 
 Sind aber nur Kleinigkeiten.
 In Java würde es passen.
 
- 
	The Following User Says Thank You to patlux For This Useful Post:
 
- 
	20.11.2011, 13:47 #5 AW: [C#] Klassenbeispiel AW: [C#] KlassenbeispielHm. Ich würde es nicht GetQuelltext nennen sondern GetSource.    „Es sind nicht unsere Fähigkeiten, die zeigen, wer wir wirklich sind, es sind unsere Entscheidungen.“ „Es sind nicht unsere Fähigkeiten, die zeigen, wer wir wirklich sind, es sind unsere Entscheidungen.“
 - Albus Dumbledore, Harry Potter 2
 
 /guestchat registerGuest
 
- 
	20.11.2011, 18:41 #6Nachrichtendienst  
 - Registriert seit
- 09.11.2011
- Beiträge
- 129
 Thanked 141 Times in 52 Posts AW: [C#] Klassenbeispiel AW: [C#] KlassenbeispielUnd ich würde nicht jedes mal ein neues WebClient Objekt instanzieren, sondern nur 1x im Konstruktor, Schönheitssache. 
 
 MfG
 
- 
	
 
- 
	20.11.2011, 18:59 #7U-Labs Routinier  
 - Registriert seit
- 19.11.2011
- Beiträge
- 496
 Thanked 412 Times in 268 Posts AW: [C#] Klassenbeispiel
				Nee.In Java würde es passen. AW: [C#] Klassenbeispiel
				Nee.In Java würde es passen.
 In Java sollten Variablen und Methoden mit einem Kleinbuchstaben beginnen, in "camelCase" Schreibweise, wofür du bereits ein Beispiel geliefert hast. getSource().
 Für die öffnende geschweifte Klammer { verschwendet man auch keine ganze Zeile.
 
 Ich würde hier catch nicht argumentslos verwenden, sondern gezielt auf mögliche Exceptions eingehen.Code:try { Quelltext = client.DownloadString(_url); } catch { Quelltext = "Es ist ein Fehler aufgetreten. Überprüfen Sie Ihre Eingabe."; }
 
 Da hier nichts passiert, kann der Standardkonstruktor ganz weggelassen werden. Der Compiler erzeugt sowieso einen.Code:/// <summary> /// Downloader /// </summary> public Downloader() { }
 
 Was ich auch nicht schön finde, dass es quasi zwei Getter für Quelltext gibt. Ich würde entweder auf die Variable verzichten, oder die Methode get_quelltext() umschreiben, dass sie die Variable nur initialisiert aber nichts zurückgibt. Bei ersterem würde die Variable quelltext in der Main-Methode auch Sinn ergeben. Die, bzw. Quelltext in Downloader ist überflüssig.
 
 Edit: Sorry, der letzte Teil wurde bereits erwähnt, habe es nicht gelesen.Geändert von Mr. White (20.11.2011 um 19:06 Uhr) 
 
- 
	20.11.2011, 19:08 #8 AW: [C#] Klassenbeispiel AW: [C#] KlassenbeispielIch verstehe nicht ganz wieso du die Quelltext Variable public deklariert hast, wo ist da der Sinn? Oder macht man das in C# so? 
 
- 
	20.11.2011, 19:11 #9U-Labs Routinier  
 - Registriert seit
- 19.11.2011
- Beiträge
- 496
 Thanked 412 Times in 268 Posts
 
Ähnliche Themen
- 
  [C#] Einfaches KlassenbeispielVon Snees im Forum ShowroomAntworten: 7Letzter Beitrag: 17.11.2011, 13:49
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.
 
									 
														 
														 
			 
					
					
					
						 Zitieren
  Zitieren 
			 
			 Zitat von Ta1lor
 Zitat von Ta1lor
					