AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Überprüfung ob Objekt eine generische Liste ist
Thema durchsuchen
Ansicht
Themen-Optionen

Überprüfung ob Objekt eine generische Liste ist

Ein Thema von Neutral General · begonnen am 16. Apr 2010 · letzter Beitrag vom 3. Jan 2011
 
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Überprüfung ob Objekt eine generische Liste ist

  Alt 3. Jan 2011, 00:33
Kennt jemand inzwischen vielleicht doch eine Lösung?

Mein Problem:
Ich habe einen Container mit einer generischen Liste
Delphi-Quellcode:
unit od;

interface

uses
  Classes, Contnrs, Generics.Collections;

type

  AttrOd = class(TCustomAttribute);

  Tod = class(TComponent)
  private
    ...
  protected
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    ...
  published
    ...
  end;

  Todl<T: Tod> = class(Tod)
  private
    FItems: TObjectList<T>;
  protected
    ...
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    property Items: TObjectList<T>read FItems;
  published
  end;

...

constructor TodSport.Create(AOwner: TComponent);
begin
  inherited;
  FNumeratorList := Todl<TodNumerator>.Create(Self);
  FDisciplineGroupList := Todl<TodDisciplineGroup>.Create(Self);
end;

...

Über RTTI ermittle ich verschiedene Eigenschaften und erhalte ein TObject "O", das auf die Property NumeratorList von Sport zeigt.
Nun würde ich gern auf die einzelnen Items zugreifen (z.B. über (O as Todl<Tod>).Items[0] ).

An den ClassName 'TObjectList<odNumerator.TodNumerator>' komme ich heran, aber ein Cast ist wohl nicht möglich, oder?

Ich will mit allen Items (die vom Typ "Tod" sein müssen) eine Aktion durchführen.
Muss ich in diesem Fall auf Generics verzichten?
Angehängte Grafiken
Dateityp: png O.png (7,6 KB, 14x aufgerufen)
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  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 11:22 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 by Thomas Breitkreuz