C# namespaces



  • Naja es ist irgendwie unlogisch für mich, dass ich irgendwas einbinden muss, weil ich doch die ganzen Sources hier bei mir im Projekte habe... ( oder mehrere Projekte ).

    Ich bin C++ Zustände gewohnt. Was ich an Code nich sehe, muss ich einbinden. Den Rest nur in includen 🙂 So einfach kann das Leben sein 😉

    Hat vielleicht jemand ein Tutorial, wo die Verwendung der Namespaces erklärt wird?
    Scheint ja doch geringfügig anders als bei C++ zu sein.

    Edit: und was es mit diesen mysteriösen "Assembly-Verweisen" auf sich hat, muss ich wohl auch noch ergründen 🙂



  • Ich bin C++ Zustände gewohnt. Was ich an Code nich sehe, muss ich einbinden. Den Rest nur in includen So einfach kann das Leben sein

    Ist bei C# nicht anders. Sogar noch einfacher, denn includen musst Du nicht. Wohl aber (wie bei C++) den Typ voll qualifizieren oder den namespace mit using namespace bekannt machen (falls der Typ nicht im selben NS lebt).

    Edit: und was es mit diesen mysteriösen "Assembly-Verweisen" auf sich hat, muss ich wohl auch noch ergründen

    Ja, also so schwer ist das nicht zu verstehen. In C++ musst Du auch die Libraries die Du benutzt referenziern (d.h. dem Linker bekannt machen).



  • ja, aber wenn ich doch die Klasse, die ich verwenden will zusammen mit dem NameSpace hier schon als Code verfügbar habe, da muss ich doch nix linken, referenzieren, oder sonstwas... Deswegen erscheint mir auch unlogisch, dass er behauptet, den NameSpace nicht zu kennen.

    is ja nich so, als wär der Code in irgendeiner DLL vergraben....



  • Habs hinbekommen.

    - Rechtsklick auf mein Projekt, wo ich das andere Projekt verwenden will.
    - "Referenz hinzufügen"
    - Dann im Reiter "Projekt" das andere Projekt auswählen ( wo die benötigte Klasse enthalten ist ) und glücklich werden 😉



  • Ahhhh, das hast du nie gesagt das dass alles in einem anderen Projekt liegt, sonst hätten wir es dir direkt sagen können.
    Weil Namespaces können sich nämlich schon unterscheiden sobald du ordner im Projekt einfügst und da hätte nämlich das "using...." geklappt.Aber bei einem anderem Projekt muss das natürlich dazugelinkt werden.:D



  • dein problem war das du "Projekt" und "Solution" durcheinander bringst
    alle projekte die in einer solution liegen kennen sich _nicht_ automatisch
    das passiert nur wenns im selben projekt liegt



  • Ja das war das Problem. Die Struktur ist halt ungewohnt. Solution ist also sozusagen also das Projekt im eigentlich Sinne, das aber nochmal unterteilt ist in verschiedenen Teilprojekte die sich untereinander nicht kennen.

    So langsam steig ich durch... 😉

    Ich hatte halt noch das Denken der üblichen C++ IDEs drin 🙂 Ein Projekt und alles was drin ist, kennt sich wenn man denn included ( und das using hab ich hier als eine art include betrachtet ). Daher hab ich das Problem irgendwie nich gesehen, aber jetzt wird mir einiges klarer 😉



  • btw - ich selber schreib seit selten ein using selber
    wenn man ein objekt aus einen anderen namespace benutzen will - und es ist noch nicht bekannt markiert man einfach den namen - dann bastelt vs ein kleines icon unter dem letzten zeichen
    da n bissl mit der maus rum wackeln - und im dann aufpoppenden menue kann man das richtige using automatisch erstellen lassen

    wenn das zeichen nicht kommt ist es entweder schon bekannt (hatt dann eh schon ne andere farbe) oder man weiss das man noch ne referenz hinzu fuegen muss)

    intellisense - auto formatierungen und alles was man sich so wuenschen kann ist in c# in vs per default schon um welten besser als in cpp (visual assist x ausgenommen)



  • It0101 schrieb:

    Solution ist also sozusagen also das Projekt im eigentlich Sinne, das aber nochmal unterteilt ist in verschiedenen Teilprojekte die sich untereinander nicht kennen.

    Eigendlich falsch.

    Eine Solution ist eine Sammlung von Projekten. Man nutzt eine Solution nur um Projekte, die miteinander zu tuen haben bzw. voneinander abhängig sind besser zu verwalten. So kannste z.B. in einer Solution die Build-Reihenfolge der Projekte bestimmen usw.

    Ob Projekte sich untereinander "kennen" oder nicht hängt auch nicht von der Solution ab sondern von den Referenzen.



  • ja ich habs vielleicht etwas dämlich formuliert. Ich meinte das natürlich genauso wie du das gesagt hast.


Anmelden zum Antworten