Ändern der Eigenschaft Typ in der Klasse implementiert das interface, mit dem Objekt-Typ Eigenschaft

Schreibe ich eine TemplateEngine, die mir erlauben, meine eigenen markup in text-basierten Dateien. Ich bin zu wollen fügen Sie Steuerelemente wie plugins wie die Anwendung reift. Ich habe aktuell eine Struktur wie die folgende:

interface IControl
    string Id
    object Value

class Label : IControl
    string Id
    string Value

class Repeater : IControl
    string Id
    List<IControl> Value

Nun sehen Sie das seltsame Teil sofort in die Repeater-Klasse mit der Value-Eigenschaft. Ich hatte gehofft, dass mit dem Wert geben Sie als Objekt in die Schnittstelle würde mir erlauben, die Flexibilität zu erweitern, die Kontrollen, als ich entlang gehen. Der compiler hat das nicht gerne, und das aus gutem Grund, denke ich.

Bottom line: ich bin zu versuchen, um alle control-Klassen implementieren das gleiche interface haben, aber unterschiedliche Typen für die Value-Eigenschaft.

Hat jemand irgendwelche Vorschläge, wie dies zu erreichen?

Hinweis: Bitte gehen Sie nicht in die darauf hindeutet, Dinge, die wie verwenden, Spark View Engine für templates. Es gibt einen Grund, warum ich bin, was zusätzliche Arbeit für mich.

  • Was Fragen Sie?
  • LOL Sorry, ich könnte brauchen, um eine video-clip erklärt es ein wenig besser. versuchen, zu mehr details führen könnten, in einem Roman
  • Ich bin versuchen, um alle control-Klassen implementieren das gleiche interface haben, aber unterschiedliche Typen für die Value-Eigenschaft.
  • aktualisiert meine Antwort wieder mit einem neuen Beispiel :->
InformationsquelleAutor used2could | 2010-04-18
Schreibe einen Kommentar