AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Generics ToArray: TArray vs. array of

Ein Thema von christophspaeth · begonnen am 6. Feb 2014 · letzter Beitrag vom 6. Feb 2014
 
christophspaeth

Registriert seit: 7. Mär 2008
73 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Generics ToArray: TArray vs. array of

  Alt 6. Feb 2014, 08:12
Delphi-Version: XE2
Hallo,

in einer Klasse möchte ich Unterobjekte zwar in einer generischen Liste verwalten, über die published Schnittstelle (für Übertragung via SOAP) aber auch als array of (bzw. einen eigens definierten Typ) anbieten:

Delphi-Quellcode:
type
  TMyType = class(TRemotable)
     //irgendwas
  end;
  TMyTypes = array of TMyType;

  TParentType = class(TRemotable)
  private
    FData: TList<TMyType>;
  public
    property Data: TList<TMyType> read FData;
  published
    property DataTransfer: TMyTypes read GetData write SetData;
  end;
Wenn ich jetzt in der Funktion GetData versuche, FData.ToArray() zurückzugeben, meckert der Compiler, dass die Typen TMyTypes und System.TArray<TMyType> inkompatibel seien.
In der System ist aber  TArray<T> = array of T , also auch wieder array of TMyType definiert.

Jetzt stehe ich glaube ich etwas auf dem Schlauch: Das sind doch beides dynamische Arrays?

Generics über SOAP macht ja zum einen Probleme (http://www.delphipraxis.net/150579-g...eber-soap.html), zum anderen hab ch mal gelernt, dass nur generische Typen oder TRemotable-Kinder verwendet werden sollen/dürfen.

Gibt es hier eine schönere/elegantere Lösung als das Ergebnis manuell mit Setlength und for-Schleife zu befüllen?
Christoph Späth
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz