Snees (20.11.2011)
Thema: [C#] Klassenbeispiel
-
19.11.2011, 12:27 #1
[C#] Klassenbeispiel
Hallo, 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
Code:/* * 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; } } }
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 #2
- Registriert seit
- 09.11.2011
- Beiträge
- 121
Thanked 129 Times in 46 PostsAW: [C#] Klassenbeispiel
Warum 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
Ist 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 #4
- Registriert seit
- 26.10.2011
- Beiträge
- 1.196
- Blog Entries
- 2
Thanked 1.596 Times in 725 PostsAW: [C#] Klassenbeispiel
Laut 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
Hm. 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.“
- Albus Dumbledore, Harry Potter 2
/guestchat registerGuest
-
20.11.2011, 18:41 #6
- Registriert seit
- 09.11.2011
- Beiträge
- 121
Thanked 129 Times in 46 PostsAW: [C#] Klassenbeispiel
Und ich würde nicht jedes mal ein neues WebClient Objekt instanzieren, sondern nur 1x im Konstruktor, Schönheitssache.
MfG
-
-
20.11.2011, 18:59 #7
- Registriert seit
- 19.11.2011
- Beiträge
- 496
Thanked 412 Times in 268 PostsAW: [C#] Klassenbeispiel
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.
Code:try { Quelltext = client.DownloadString(_url); } catch { Quelltext = "Es ist ein Fehler aufgetreten. Überprüfen Sie Ihre Eingabe."; }
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
Ich 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 #9
- Registriert seit
- 19.11.2011
- Beiträge
- 496
Thanked 412 Times in 268 Posts
Ähnliche Themen
-
[C#] Einfaches Klassenbeispiel
Von 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.