[C#] Best Practices, Interfaces, Abstract Classes
Geizhals » Forum » Programmierung » [C#] Best Practices, Interfaces, Abstract Classes (12 Beiträge, 608 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
[C#] Best Practices, Interfaces, Abstract Classes
09.04.2011, 16:32:29
So

Irgendwie will ich nicht ganz auf einen grünen Zweig kommen wie ich das am schönsten implementiere. Vielleicht könnt ihr mir etwas gedanklichen Input liefern:

Ich habe mehrere Datenstrukturen, die sich zwar alle ähnlich her sind, jedoch unterschiedliche Parameter haben. Diese werden von extern in einen String "serialisiert" und dann an mich übergeben. Auf diesen Teil habe ich keinen Einfluss.

Man stelle sich das so vor:
MW--Wert1-Wert2-Wert3-HX-HY
TX--HX-ZT-FX-BM

Nun parse ich basieren auf dem ersten Wert (MW, TX) den String mittels einer Regular Expression (was eh ganz gut funktioniert)

Nun würde ich das ganze aber gern in eine saubere Form bekommen.

Ursprünglich wollte ich eine statische Methode namens Parse anlegen, also z.b. ein

MWValueType.Parse(string)


Nun habe ich das für vieeeele unterschiedliche Typen (MW, TX, .. immer macht die Parse Methode etwas anderes).

Ich wollte also nun ein Interface basteln:


public interface IValueType { ... }

public class MWValueType : IType { ... }
public class TXValueType : IType { ... }


Problem: Ich kann im Interface keine static Methoden definieren, welche implementiert werden müssen, dasselbe gilt wenn ich die Klasse als abstract definiere.

Nun zu meiner Frage: Wie könnte ich das Ganze etwas "schöner" machen? Irgendwelche Ideen?


Wenn der Sturm losbricht,
verstummen die Einen vor Schrecken,
und die Anderen breiten, einem Adler gleich, die Flügel aus
und schwingen sich empor.

Herzlichen Dank an Raydoo für die Fotos

Antworten PM Übersicht Chronologisch
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung