Ich suche nach einer Möglichkeit, einen generischen Wrapper für jedes Objekt zu erstellen.
Das Wrapper-Objekt verhält sich genau wie die Klasse, die es umschließt, kann aber mehr Eigenschaften, Variablen, Methoden usw. für z. Objektzählung, caching usw.C# -Wrapper für Objekte
Say die Hüllklasse Wrapper, und die Klasse zu umhüllenden heißen Platz genannt und hat den Konstruktor Platz (double edge_len) und die Eigenschaften/Methoden Kantenlängengrße und Gebiet, würde ich mag es, wie folgt verwenden:
Wrapper<Square> mySquare = new Wrapper<Square>(2.5); /* or */ new Square(2.5);
Console.Write("Edge {0} -> Area {1}", mySquare.EdgeLength, mySquare.Area);
Natürlich kann ich schaffen, eine solche Wrapper-Klasse für jede Klasse I wickeln will, aber ich bin für eine allgemeine Lösung, i. B. Wrapper<T>
, das sowohl primitive als auch zusammengesetzte Typen verarbeiten kann (obwohl ich in meiner jetzigen Situation glücklich wäre, wenn ich nur meine eigenen Klassen verpacke).
Vorschläge?
Danke.
Sie können dies nicht mit C# bis zu 3.0 tun. In Version 4.0 können Sie dies jedoch über das neue dynamische System tun. –
Könnten Sie bitte ausarbeiten? Vielen Dank. – Haggai