Entwickler-Ecke
Basistechnologien - [Einsteiger] Zugriffsebenen C# Verstädnissprobleme(Assembly)
miniC# - Fr 28.11.08 22:51
Titel: [Einsteiger] Zugriffsebenen C# Verstädnissprobleme(Assembly)
Guten Abend,
ich habe mal wieder eine kleine Frage :
"Was versteht C# genau unter einem Assembly, bzw. wie ist dieser (dieses ?) definiert ?"
Ich habe mich natürlich wie immer zunächst bemüht diese Frage selbst zu lösen, jedoch bin ich nicht 100%ig fündig geworden, bzw unsicher, ob das selbst Zusammengereimte auch stimmt. Hintergrund ist der Wunsch die verscheidenen Zugriffseben in C# richtig zu verstehen. (Ich könnte jetzt hier noch einen Riesenpsalm anhängen, aber ich belasse es jetzt erstmal dabei).
Gruß und Dank,
miniC#
Moderiert von
Christian S.: Topic aus C# - Die Sprache verschoben am Fr 28.11.2008 um 22:15
Christian S. - Fr 28.11.08 23:14
Am einfachsten lässt sich wohl sagen: Ein Assembly ist eine ausführbare Einheit, das ist in .NET entweder eine exe-Datei oder eine dll-Datei.
Alles, was die assembly-Sichtbarkeit hat ist für Klassen innerhalb dieses Assembly (sprich: Datei) sichtbar (Friend-Assemblies mal außen vor gelassen).
miniC# - So 30.11.08 11:57
hm, so hatte ich auch Wiki verstanden, bzw. MDSN. internal 'entfaltet' seine wirkung quasi erst beim erstellen ,
bzw. bei der wiederverwendung, projektintern ist es qausi gleichwertig mit public ?
gruß und dank,
miniC#
JüTho - So 30.11.08 12:05
miniC# hat folgendes geschrieben : |
| projektintern ist es qausi gleichwertig mit public ? |
Aufpassen mit den Formulierungen!
Wenn Du ein Projekt so verstehst wie die IDE, dann hast Du recht: Ein Projekt erzeugt eine Assembly. Innerhalb dieser Assembly hat internal die gleiche Wirkung wie public.
Wenn man Projekt wie im normalen Sprachgebrauch versteht, dann entspricht es eher einer Projektmappe (Solution) und kann aus mehreren Assemblies bestehen.
"entfaltet seine Wirkung" ist auch eine komische Formulierung. Immer dann, wenn eine Assembly inhaltlich genutzt wird, entfalten alle ihre Bestandteile (Klassen usw.) ihre Wirkung. Wann soll das sonst sein als beim Kompilieren und beim Ausführen?
Jürgen
miniC# - So 30.11.08 14:32
JüTho hat folgendes geschrieben : |
miniC# hat folgendes geschrieben : | | projektintern ist es qausi gleichwertig mit public ? |
Aufpassen mit den Formulierungen!
Wenn Du ein Projekt so verstehst wie die IDE, dann hast Du recht: Ein Projekt erzeugt eine Assembly. Innerhalb dieser Assembly hat internal die gleiche Wirkung wie public.
Wenn man Projekt wie im normalen Sprachgebrauch versteht, dann entspricht es eher einer Projektmappe (Solution) und kann aus mehreren Assemblies bestehen.
"entfaltet seine Wirkung" ist auch eine komische Formulierung. Immer dann, wenn eine Assembly inhaltlich genutzt wird, entfalten alle ihre Bestandteile (Klassen usw.) ihre Wirkung. Wann soll das sonst sein als beim Kompilieren und beim Ausführen?
Jürgen |
asche auf mein haupt, bin recht unerfahren ;) mit *entfaltet seine wirkung* bezog ich mich auf die sichtbarkeit von
interna variablen, die in einer .dll als verweis in einem projekt eingebunden werden.
ja die links kenne / kannte ich, das problem war nur, dass mdsn nie richtig den begriff assembly erklärt, bzw ich die entsprechende stelle
dafür nicht finden konnte und sich auch andere anfängerleitfäden zu dem thema ulkigerweise ausschweigen. trotz der tatsache, dass sowohl
mdsn , als auch eben jede leitfäden diesen begriff gradezu inflationär benutzen :)
ulkigerweise half mir dann zumindest wiki im groben aus der patsche , aber die grundlegende unsicherheit blieb ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!