Seite 1 von 1
Vergleich mit Java: Produkte und Zwischenprodukte
Verfasst: Di Sep 04, 2012 4:21 pm
von fat-lobyte
Hallo!
Ich habe ne Frage, die ich wahrscheinlich mit viel Googeln und Lesen zwar lösen könnte; allerdings habe ich gehofft dass mir einer von euch viel Zeit ersparen kann.
In meiner Vorstellung ist C# vom Prinzip das gleiche wie Java.
In Java hat man Quellcode (.java), aus den Quellcode baut man Objektcode (.class) und diese .class Dateien kann man entweder mit der JRE ausführen (wenns ne main()-Methode gibt) oder in Java code verwenden (import-Anweisung).
Wie sähe da das Äquivalent in C# aus? (Wenn es eines gibt)
In C# hat man Quellcode (.cs), generiert daraus was? (.dll/.exe/.???), dieses Dings kann man dann mit der CLR ausführen; kann man das dann auch irgendwie importieren?
Für eure Hilfe wäre ich sehr Dankbar.
lg, fat-lobyte
Re: Vergleich mit Java: Produkte und Zwischenprodukte
Verfasst: Di Sep 04, 2012 4:54 pm
von cloidnerux
In meiner Vorstellung ist C# vom Prinzip das gleiche wie Java
Eher weniger.
Einzelne C#-Dateien werden entweder zu manifesten Compiliert und dann eine Klasse oder ein größerer Verbund zu einer *.dll oder *.exe
Willst du nun C#-Klassen einbinden, kannst du das entweder über einbeziehen der Quellen machen oder durch importieren der *.dll. Durch die zusätzlichen Informationen in den .NET-dlls ist es möglich, alles Klassen samt aller öffentlichen Bestandteilen zu erfassen, damit wird dann z.B die IntelliSense bei VS gefüttert, bzw du kannst das mit System.Reflection auch machen.
Damit ist .NET Code nicht universell ausführbar, sondern nur auf Windows-Maschinen mit .NET-Runtime.
Re: Vergleich mit Java: Produkte und Zwischenprodukte
Verfasst: Di Sep 04, 2012 9:10 pm
von fat-lobyte
cloidnerux hat geschrieben:Einzelne C#-Dateien werden entweder zu manifesten Compiliert und dann eine Klasse oder ein größerer Verbund zu einer *.dll oder *.exe
Willst du nun C#-Klassen einbinden, kannst du das entweder über einbeziehen der Quellen machen oder durch importieren der *.dll. Durch die zusätzlichen Informationen in den .NET-dlls ist es möglich, alles Klassen samt aller öffentlichen Bestandteilen zu erfassen, damit wird dann z.B die IntelliSense bei VS gefüttert, bzw du kannst das mit System.Reflection auch machen.
Damit ist .NET Code nicht universell ausführbar, sondern nur auf Windows-Maschinen mit .NET-Runtime.
Klingt für mich trotzdem alles gleich
.dll/.exe entspricht einer .jar, ein Manifest einer .class und die .NET-Runtime ist das gleiche wie JRE.
Also es ist schon möglich eine .NET DLL in deinen Code einzubinden, wenn ich das richtig verstehe?
Danke vielmals für die prompte Antwort!
Re: Vergleich mit Java: Produkte und Zwischenprodukte
Verfasst: Di Sep 04, 2012 9:16 pm
von Xin
fat-lobyte hat geschrieben:Klingt für mich trotzdem alles gleich

Ist es im Prinzip auch. .NET-DLLs sind auch nichts anderes als Container. .class-äquivalente Dateien sind mir in .NET nicht bekannt.
fat-lobyte hat geschrieben:Also es ist schon möglich eine .NET DLL in deinen Code einzubinden, wenn ich das richtig verstehe?
Du kannst in einem C# Projekt .NET-kompatible DLLs importieren und dann die darin enthaltenen Klassen per using einbinden.
Re: Vergleich mit Java: Produkte und Zwischenprodukte
Verfasst: Di Sep 04, 2012 9:25 pm
von cloidnerux
Du kannst in einem C# Projekt .NET-kompatible DLLs importieren und dann die darin enthaltenen Klassen per using einbinden.
Du kannst auch nicht .NET Klassen einbinden. Ob aber die Umkehrung, also in C/C++ .NET Klassen zu nutzen Funktioniert, weiß ich gerade nicht. Aber wie immer hilft google:
http://stackoverflow.com/questions/8520 ... e-native-c
Re: Vergleich mit Java: Produkte und Zwischenprodukte
Verfasst: Di Sep 04, 2012 9:27 pm
von fat-lobyte
Ok, danke für die Info!