Zitat von
Phoenix:
Also das mit dem .NET 2.0 hat sich dank Daniel's experimentierfreudigkeit ja schon gelegt: Auch der Delphi-Compiler aus dem
BDS 2006 kann gegen .NET 2.0 kompilieren.
Wenn man jetzt noch dagegenrechnet, dass man in fast jeder Klasse in 2.0 gegen generische Interfaces/Klassen programmiert kann man dn "Trick" als Spielerei abtun...
Zitat:
Hat bei mir Gründe der Wartbarkeit und der Übersichtlichkeit. Wenn C# auch Forward-Deklarationen hätte *träum*....
Um es in tommies art zu schreiben:
[ ] Du weißt was Forward declarations sind
Was du meinst ist eine Trennung von Interface & Implementierungs section.
FDs würd ich meinem schlimmsten Feind nicht zumuten wollen.
Das Hineinquetschen von mehreren voneinander abhängigen Typen in ein Code file halte ich für alles andere als wartbar oder lesbar.
Wenn du interface sections und/oder Pascal magst, kann ich nur Chrome empfehlen. D32 mag absolut KickAss für natives Entwickeln sein
, D.Net ist aber nur ein zusammengeriemeltes "Ding", das so hässlichen Code generiert, dass man den keinem non-Delphi .Net-Entwickler vorhalten könnte.
In D.Net gibt es immer noch Units, du kannst selbst keine Namespaces benutzen. Jeder D.Net-Konsument deiner Assemblies muss wieder deine Units verwenden.
Du hast keine Sichtbarkeitsmodifizierer für Typen, außer es sind nested types.
Da der Compiler sich nur wie ein frisierter D32 compler verhält wird er sowas hier ohne zu murren kompilieren:
Delphi-Quellcode:
unit NS.A;
interface
type Class1 =
class
end;
unit NS.B;
interface
type Class1 =
class
end;
Natürlich hast du jetzt Class1 zweimal im namespace NS[1], wodurch die generierte Assembly nicht benutzbar ist...
Wer Pascal mag und Neuentwicklungen in .Net anfängt sollte sich
IMHO erstmal Chrome ansehen, bevor er seine Zeit mit D.Net verschwendet um danach zu C# zu flüchten.
Es kann eigentlich alles was C# kann bis auf anonyme Methoden[2], aber halt pascalisch.
[1]Wer hier nicht hinterkam braucht sich nicht schämen, die Art wie D.Net Namespaces anlegt/benutzt ist kompliziert genug um ein ganzes Kapitel zu füllen.
[2]Bis jetzt gab es nicht einen Vorschlag wie die in Chrome aussehen könnten, der nicht absolut hässlich war.