AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Klatsch und Tratsch Träume, Wünsche und Wahnvorstellungen...
Thema durchsuchen
Ansicht
Themen-Optionen

Träume, Wünsche und Wahnvorstellungen...

Ein Thema von himitsu · begonnen am 16. Mai 2011 · letzter Beitrag vom 3. Jun 2013
Antwort Antwort
Seite 15 von 26   « Erste     5131415 161725     Letzte »    
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#141

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 24. Mai 2011, 18:46
Nur daß dieser erste Parameter in Delphi als verstecktes Self übergeben würde.
Schonmal geschaut, wie man extension methods in C# schreibt?
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#142

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 24. Mai 2011, 19:06
ihhh C ... sowas guck ich mir nich an
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#143

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 25. Mai 2011, 13:00
Mir fällt noch was ein:
  • interface helper (aka extension methods)
Wäre sogar noch vielseitiger und imo unter der Kategorie syntactic sugar umsetzbar, indem der compiler aus myString.Upper(); ein Upper(myString); bastelt (oh Wunder, das ist genau das, was in C# bei den extension methods passiert).
Diese ganzen XYZ-Helper, haben ja gegenüber Ex-Methods nur den Vorteil, dass man damit Properties abbilden kann.
Ansonsten fand' ich es unglaublich ernüchternd, dass CodeGear tatsächlich so blödsinnig war, und Record-Helper einführte, anstatt einfach einfach nur noch "Helper for IrgendeinenTypenWieZumBleistiftInteger" zuzulassen.
Tat richtig weh, wenn jemand so einen riesigen Hebel hat und mit sowenig Aufwand soviel erreichen könnte, nur um sich dann (dank des offenkundig nicht vorhandenen Anspruchs) mit der primitivsten und sinnlosesten Lösung zufrieden zu geben. ("record helper" neben dem vorher schon existierenden "class helper")
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#144

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 25. Mai 2011, 13:18
Diese ganzen XYZ-Helper, haben ja gegenüber Ex-Methods nur den Vorteil, dass man damit Properties abbilden kann.
Nö, noch einen: Man kann damit Bugs fixen.
In C# hat eine echte Methode immer Vorrang vor den Extension Methods, d.h. wenn es eine Methode gibt namens "HansWurst" und eine Extension Method, die ebenfalls "HansWurst" heißt, wird die Extension Method niemals aufgerufen, sondern jedesmal die echte Methode. Selbst, wenn sie verschiedene Signaturen haben.
In Delphi haben die Helper den Vorrang, d.h. man hat eine Methode A und der Helper hat ebenfalls eine Methode A. Wenn jetzt irgendwo im Code Instanz.A aufgerufen wird, kommt die Helper-Methode zum Einsatz.
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#145

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 25. Mai 2011, 15:27
Diese ganzen XYZ-Helper, haben ja gegenüber Ex-Methods nur den Vorteil, dass man damit Properties abbilden kann.
Nö, noch einen: Man kann damit Bugs fixen.
In C# hat eine echte Methode immer Vorrang vor den Extension Methods, d.h. wenn es eine Methode gibt namens "HansWurst" und eine Extension Method, die ebenfalls "HansWurst" heißt, wird die Extension Method niemals aufgerufen, sondern jedesmal die echte Methode. Selbst, wenn sie verschiedene Signaturen haben.
Das stimmt nicht! Ich kann mich erinnern, dass Oxygene sich so verhalten hat (kA ob es das nohc tut).
Aber nicht C#. Dort gewinnt die tatsächliche Methode nur wenn die Signatur gleich ist oder besser passt.

Code:
static void Miep(this Sample instance, object untypedValue)
{
   instance.Miep((int)untypedValue);
   instance.SetByExMethod = true;
}

class Sample
{
   public int Value { get; private set; }

   public bool SetByExMethod { get; set; }

   public void Miep(int newValue)
   {
      Value = newValue;
      SetByExMethod = false;
   }
}

static void Main()
{
   var s = new Sample();

   s.Miep(untypedValue: 1);
   Debug.Assert(s.Value == 1 && s.SetByExMethod);

   s.Miep(2);
   Debug.Assert(s.Value == 2 && !s.SetByExMethod);

   s.Miep((Object)3);
   Debug.Assert(s.Value == 3 && s.SetByExMethod);
}
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”

Geändert von Elvis (25. Mai 2011 um 15:30 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#146

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 25. Mai 2011, 15:35
]Das stimmt nicht! Ich kann mich erinnern, dass Oxygene sich so verhalten hat (kA ob es das nohc tut).
Aber nicht C#. Dort gewinnt die tatsächliche Methode nur wenn die Signatur gleich ist oder besser passt.
Ist mein Gedächtnis so schlecht? Ich ahbe auch mehrere Monate mit C# gearbeitet und mich dauernd eben darüber geärgert
Irgendwie kann ich mir auch nicht vorstellen, dass Oxygene und C# da unterschiedlich verfahren.

[edit]
Du hast Recht, hab nochmal nachgeguckt.

An meiner Grundaussage rüttelt das jedoch nichts:
C#: echte Methoden Vorrang
Delphi: Helper-Methoden Vorrang

Geändert von implementation (25. Mai 2011 um 15:39 Uhr)
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#147

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 25. Mai 2011, 18:06
Ahh ich hätte da noch was:

Alle Dreingaben / Zusatzsoftware / Stückwerk mit in den Hauptinstaller packen. Bis man den ganzen Kram einzeln deinstalliert hat, hat man einen Bart

Und ein schnelleres EDN.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#148

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 25. Mai 2011, 18:15
Den Installer sollte man sowieso mal überarbeiten ... du willst nicht wissen, was für ein Schrott da drinnen enthalten ist.
(wer den Schock für's Leben haben will, der brauch sich diesen nur mal ansehn)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#149

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 25. Mai 2011, 18:19
Gilt funktionierendes Error Insight eigentlich als Traum oder Wahnvorstellung?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#150

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 25. Mai 2011, 18:20
Beides
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 15 von 26   « Erste     5131415 161725     Letzte »    


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 19:45 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