Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Generics und parametrisierter Konstruktor (https://www.delphipraxis.net/157012-generics-und-parametrisierter-konstruktor.html)

SebE 24. Dez 2010 11:12


Generics und parametrisierter Konstruktor
 
Hallo,
ich habe eine Liste mit unterschiedlichen Elementen (List<T>), welche für jeden Typ eine Factory bereit stellen soll:

Code:
class list<T> where T: new(p1, p2, p3) {

  class elem<T> {
    public elem(p1, p2, p3): base(p1, p2, p3) {}

    public T newInstance() {
      return new T(p1, p2, p3);
      }

    ...
    }

  ...
  }
Logisch könnte der Spaß wie oben aussehen, aber C# lässt die Definition für T "new(p1, p2, p3) nicht zu.

Geht das unter Delphi (Prism)?
Ist es überhaupt möglich?
Ich persönlich erkenne kein technisches Hindernis, welches dieses Konstrukt unmöglich machen könnte.

Oder kennt ihr "Umwege", die das realisieren, was ich vorhabe?

Ich möchte NICHT, dass die Factories in den konkreten Typen (welche später <T> ersetzen) eingebettet werden müssen, da diese Factories (indirekten Konstruktoren) public sein müssen (es soll aber nicht jeder eine "Kopie" ohne "new" erstellen dürfen).

Meine derzeitiger Workaround besteht aus Delegates, die ich newInstance übergebe.
Ist aber auch nicht die Lösung, da die Delegates von außen (vom Listen-Nutzer) übergeben werden müssen.

Ich danke euch und freue mich über jede Idee


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:17 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-2025 by Thomas Breitkreuz