AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Generics ohne Typangabe - Ist das neu?

Ein Thema von Sir Rufo · begonnen am 26. Nov 2014 · letzter Beitrag vom 2. Dez 2014
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Generics ohne Typangabe - Ist das neu?

  Alt 26. Nov 2014, 10:34
Delphi-Version: XE5
^^^^^ XE7!!!

Da habe ich doch gerade ein wenig mit Generics herumgebastelt und bin (positiv) überrascht, dass es funktioniert:
Delphi-Quellcode:
type
  TFoo = class
  public
    class procedure Bar<T>(const Value : T );
  end;

procedure Test;
var
  LBar : TBar;
begin
  TFoo.Bar( LBar ); // dieser Aufruf ist äquivalent zu
  TFoo.Bar<TBar>( LBar );
end;
Das war doch nicht immer so, oder doch?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
36.352 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Generics ohne Typangabe - Ist das neu?

  Alt 26. Nov 2014, 10:42
Kann mich nicht erinnern, daß es ging,
aber
ich glaub gehört zu haben, daß dieses Verhalten wurde mehrfach gewünscht wurde.

[edit] XE geht

und http://www.delphipraxis.net/issue-433/
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu (26. Nov 2014 um 10:50 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.317 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Generics ohne Typangabe - Ist das neu?

  Alt 26. Nov 2014, 10:44
Ohne eine kompetente Antwort geben zu können (spätestens Stevie wird das tun), meine ich dass es in trivialen Fällen (wie diesem) schon vor XE7 ging.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.147 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Generics ohne Typangabe - Ist das neu?

  Alt 26. Nov 2014, 10:49
Habs grad ausprobiert. Funktioniert seit Delphi 2009
Aber hatte ich auch nicht gewusst
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
36.352 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Generics ohne Typangabe - Ist das neu?

  Alt 26. Nov 2014, 10:50
getestet ... Antwort korrigiert
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Generics ohne Typangabe - Ist das neu?

  Alt 26. Nov 2014, 11:17
Gefühlt hatte ich eigentlich auch diese Meinung im Kopf "Woanders geht es, nur bei Delphi nicht, wollen wir auch haben!".

Na gut, wir haben (hatten schon seit Ewigkeiten) es ... dann kann man ja auch was draus machen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
36.352 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Generics ohne Typangabe - Ist das neu?

  Alt 26. Nov 2014, 11:21
Das ging nicht, glaub ich.
Delphi-Quellcode:
type
  TFoo = class
  public
    class procedure Bar<T>() : T ;
  end;

procedure Test;
var
  LBar : TBar;
begin
  LBar := TFoo.Bar; // dieser Aufruf ist äquivalent zu
  LBar := TFoo.Bar<TBar>;
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu (26. Nov 2014 um 11:50 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.147 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: Generics ohne Typangabe - Ist das neu?

  Alt 26. Nov 2014, 11:25
Jo das geht tatsächlich nicht. Auch nicht in XE7.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: Generics ohne Typangabe - Ist das neu?

  Alt 26. Nov 2014, 11:26
Das auch nicht
Delphi-Quellcode:
TFoo = class
  class procedure Bar<T>( AList : TList<T> );
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#10

AW: Generics ohne Typangabe - Ist das neu?

  Alt 26. Nov 2014, 11:31
In C# kann man die explizite Typangabe weglassen, wenn sie sich aus dem Aufrufkontext ergibt: Hier ist der Typ des Parameters bzw. des Rückgabewertes ausreichend und definiert damit den Typparameter. Offensichtlich ist das in Delphi nicht anders.

Bei C# habe ich das erst mit dem Einsatz des Refactoringtools "Resharper" bemerkt, der gnadenlos redundanten Code moniert (wenn man ihn lässt).
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 23:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf