Lambda als Datei speichern und Laden?

  • VB.NET

Es gibt 22 Antworten in diesem Thema. Der letzte Beitrag () ist von ~blaze~.

    hi
    danke sehr dass ist das was ich such
    problem in diesem thema werden auch probleme diskutiert ich blick da jetzt nicht durch was jetzt fehlerfrei ist
    wegen der besonderen regeln habe diese sach auch dort nicht geschrieben also kontest du wenn du so nett bist mir die sachen
    zusamerntragen
    ich weiß ich bis sehr sehr sehr faul sorry ;)
    danke ob du es machst oder nicht
    euer sirati,
    Im Prinzip ist es nicht schwer:
    Du lädst eine Assembly - z.B. per System.Reflection.Assembly.LoadFrom, bei einem "naiven" Plug-In-System gehst du alle Typen durch und überprüfst sie auf die Implementierung eines oder mehrerer Interfaces/Vererbung. Ersteres geht per Type.GetInterface(GetType(IMyPlugInInterface).FullName) IsNot Nothing oder so, zweiteres per Type.IsSubClassOf(baseType) und anschließend erzeugst du eine Instanz des Plug-Ins. Das ginge per für deinen Fall geeigneten GetConstructor-Aufruf oder einfacher per Activator.CreateInstance. Eine andere, ebenfalls naive Möglichkeit wäre, eine Attribut-Klasse PlugInAttribute oder so zu definieren, die angibt, dass eine Klasse ein Plug-In ist. Da könntest du dann noch einen Instanz-Erzeugenden Typ angeben oder einen TypeConverter, der dir die Instanz erzeugen kann, etc. Für dich genügt aber vmtl. die einfache Version, mit einem Attribut PlugInAttribute, das lediglich angibt, dass ein Typ ein PlugIn ist. Abfragen kannst du das dann einfach über Type.IsDefined(GetType(PlugInAttribute), TrueOderFalse).

    Gruß
    ~blaze~