Funktionen in einer struct / Funktionen strukturieren

  • Hiho,


    ich habe wie all zu oft mal wieder ein Problem bei dem ich nicht weiter komme.


    Ich habe mit einen HttpServer gebaut, der gibt ein HttpRequest und ein HttpResonse Objekt zurück (wie der HttpListener von .NET auch, aber der is doof).


    Nun möchte ich einen Request schnell beantworten wenn z.B. die Datei nicht gefunden wurde oder en ServerFehler(500) aufgetreten is. Jetzt hab ich viele wunderbare Funktionen in meiner Klasse da das ganze etwas durcheinander ist, dachte ich mir, ich könnte die Strukturieren wie man mit einem Struct auch Variablen zusammenfassen kann.
    Das ich z.B. Response.QuickResponse.NotFound() schreiben kann.


    Struct kann ja inzwischen auch Funktionen aufnehmen. Aber das geht auch nicht so recht. Zudem kann ich von dem aus nicht auf die Klasse zugreifen.


    Jemand ne Idee wie man das anders lösen kann?


    Gruß
    florian0

  • Das heißt du willst deine Methoden, die ja mit einem Objekt assoziiert werden müssen als Pointer in einer Struktur speichern und das nur aus dem Grund der Übersichtlichkeit? Selbst wenn es nur Funktionen wären und kein .Net, würde ich das nie im Leben machen.


    Du kannst dir eine statische Klasse anfertigen. Dann hast du genau den Aufruf, den du geschrieben hast.
    Halte ich aber für schlechten Stil.
    Sonst schreib halt einen gemeinsamen Präfix vor deine Methoden. Macht man aber in C# auch nicht.


    Beste Möglichkeit, die mir auf die Schnelle einfällt, wäre ein enum, in dem du die Codes deiner QuickMessages auflistest und die dann in einer SendQuickResponse(QuickMessageId msg) in einem switch...case abfragst und die entsprechende Nachricht sendest.


    Ich muss anmerken, dass ich aus der C/C++ Ecke komme und mich in C# + .Net nicht sehr gut auskenne. Hör dir also lieber noch einen Ratschlag an, bevor du anfängst. ;)


    MfG

  • Das mit dem SendQuickResponse und dem Enum klingt schonmal gut.


    Das mit dem Struct hat eh nicht so geklappt wie ich mir das vorgestellt hab. Das struct will/muss ja auch initalsiert werden. Somit hätte ich das Response-Objekt selbst noch mit an die struct übergeben müssen um drauf zuzugreifen (Hier wäre schon fast eine Klasse sinnvoll). Da erscheint mir die Enum-Methode doch etwas sauberer. Denn in zwei Wochen weis ich garantiert nicht mehr was ich mir dabei gedacht habe.


    Weitere Ideen sind dennoch willkommen. Mich würde trotzdem interessieren, ob man Funktionen simpel zusammenfassen kann.


    Gruß
    florian0

  • Du kannst dir ne neue Klasse anlegen für die Funktionen und die Funktionen dann gegebenfalls als static definieren. (Die Klasse muss auch nicht umbedingt in ner neuen Datei sein, wenn du dass nicht willst)