AGB  ·  Datenschutz  ·  Impressum  







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

Generics mit abgeleiten Klassen

Ein Thema von backdraft · begonnen am 19. Okt 2011 · letzter Beitrag vom 19. Okt 2011
 
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
339 Beiträge
 
Delphi 11 Alexandria
 
#1

Generics mit abgeleiten Klassen

  Alt 19. Okt 2011, 13:11
Hallo zusammen,

ich probiere mich heute das erste mal an Generics und habe irgendwie ein Verständnisproblem.

Ich habe eine Basisklasse und davon eine Ableitung.
Jetzt möchte ich, dass meine Generic Klasse entweder die Basisklasse nimmt, oder die Ableitung.

Code:
unit MyClass;

interface

type
  TMyBase = class
  private
    FBaseProperty: Integer;
  public
    property BaseProperty: Integer read FBaseProperty write FBaseProperty;
  end;

  TMyExtended = class(TMyBase)
  private
    FExtendedProperty: Integer;
  public
    property ExtendedProperty: Integer read FExtendedProperty write FExtendedProperty;
  end;

  TMyGeneric<T: TMyBase>=class
  private
    FMyItem: T;
  public
    constructor Create;
    property MyItem: T read FMyItem;
  end;

  TMyBaseClass = TMyGeneric<TMyBase>;
  TMyExtendedClass = TMyGeneric<TMyExtended>;

var
  vMyBaseItem: TMyBaseClass;
  vMyExtendedItem: TMyExtendedClass;

implementation

{ TMyGeneric<T> }

constructor TMyGeneric<T>.Create;
begin
  inherited;
  FMyItem := TMyBase(T).Create;
end;

end.
Es knallt an der Stelle
Code:
 TMyExtendedClass = TMyGeneric<TMyExtended>;
E2010 Inkompatible Typen: 'TMyExtended' und 'TMyBase'

Was mache ich denn falsch?
Oliver
  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 10: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