AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein C# Typen / Klassen als Parameter verwenden
Thema durchsuchen
Ansicht
Themen-Optionen

Typen / Klassen als Parameter verwenden

Ein Thema von Meflin · begonnen am 22. Aug 2010 · letzter Beitrag vom 30. Aug 2010
 
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#11

AW: Typen / Klassen als Parameter verwenden

  Alt 22. Aug 2010, 19:00
Nicht so kompliziert denken und einfach Instanzmethoden daraus machen ? Ich sehe da keinen Nachteil - und wie gesagt können sich dadurch sogar ganz andere Möglichkeiten eröffnen :
Code:
   class Dispatcher
   {
      [ImportMany]
      IEnumerable<ServerEvent> EventHandlers { get; set; }

      public Dispatcher()
      {
         // Here be MEF magic...
         var catalog = new DirectoryCatalog(@".\");
         var container = new CompositionContainer(catalog);
         container.Composeparts(this);
      }

      void Receive()
      {
         ServerEvent handler = EventHandlers.First(h => h.Command == command);
         handler.Handle();
      }
   }

   public abstract class ServerEvent
   {
      public virtual string Command { get { return ""; } }
      public void Handle();
   }

   [Export(ServerEvent)]
   class IAmATeapotServerEvent : ServerEvent { ... }
Wirf eine weitere Assembly mit einer ServerEvent-Ableitung in den bin-Ordner und MEF wird sie ohne weiteres Zutun ebenfalls dem Dispatcher zuordnen. Und jetzt sag mir, dass das mit statischen virtuellen Methoden eleganter lösbar sei .
Sebastian
Moderator in der EE

Geändert von Khabarakh (22. Aug 2010 um 19:03 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz