Ich weiß, der Titel ist ein bisschen verwirrend, aber mit mir blank. (Ich bin für Vorschläge auf einen neuen Titel lol) Ich schreibe eine TemplateEngine, die es mir erlaubt, mein eigenes Markup in textbasierten Dateien zu verwenden. Ich möchte Kontrollen als Plugins hinzufügen, wenn die Anwendung reift. Zur Zeit habe ich eine Struktur wie die folgenden bekommen:Ändern des Eigenschaftstyps in der Klasse, die die Schnittstelle mit Objekttyp-Eigenschaft implementiert
interface IControl
string Id
object Value
class Label : IControl
string Id
string Value
class Repeater : IControl
string Id
List<IControl> Value
Jetzt werden Sie den seltsamen Teil sofort in der Repeater-Klasse mit der Value-Eigenschaft sehen. Ich hatte gehofft, dass die Möglichkeit, den Werttyp als Objekt in der Schnittstelle zu verwenden, mir die Flexibilität geben würde, die Steuerelemente zu erweitern, während ich weitermache. Der Compiler mag das nicht und ich denke, aus gutem Grund.
Fazit: Ich versuche, alle Steuerelementklassen die gleiche Schnittstelle zu implementieren, aber verschiedene Typen für die Value-Eigenschaft.
Hat jemand irgendwelche Vorschläge, wie dies zu erreichen ist?
Hinweis: Bitte gehen Sie nicht auf Dinge wie Spark View Engine zum Templating vor. Es gibt einen Grund, warum ich zusätzliche Arbeit für mich selbst erschaffe.
Wonach fragen Sie? – SLaks
@SLaks: LOL Entschuldigung, ich könnte einen Videoclip brauchen, der es ein wenig besser erklärt. Der Versuch, in mehr Details zu gehen, könnte zu einem neuen – used2could
führen. Ich versuche, alle Steuerklassen zu erhalten, um dieselbe Schnittstelle zu implementieren, aber unterschiedliche Typen für die Eigenschaft Value. – used2could