Hallo,
ich habe ein Verständnisproblem mit Zugriffsmodifizierern...
Mal angenommen, ich erstelle ein neues Projekt...
1 | namespace TestApp {
|
2 | public partial class Testfenster : Form {
|
3 | }
|
4 | }
|
Soweit ich das verstanden habe, kann ich durch "public" von jeder
anderen Klasse aus, die ich in meiner Anwendung erstelle, ohne
Restriktionen auf die Klasse "Testfenster" zugreifen.
Ist durch Public nun aber theoretisch auch ein Zugriff von "Außen"
möglich, also von völlig anderen Anwendungen, die sonst noch unter
Windows laufen?
Falls ja, wie gelangen die denn an die Instanzen, die zur Laufzeit
erzeugt werden?
Es geht mir um die Frage, ob man die Klassen bzw. die Daten in
Programmen vor anderen Programmen bei Bedarf schützen sollte, oder ob
Windows schon von Haus aus die Anwendungen voneinander abschottet(wobei
Cracker vermutlich eh an alle Daten gelangen werden, wenn sie es denn
möchten)?
Die Frage kam auf, weil ich in den Zugriffsmodifizierern etwas von
"internal" gelesen habe und dort von der "gleichen Assembly" gesprochen
wurde. Wenn ich das richtig verstanden habe, ist eine Assembly quasi so
etwas wie das in Visual Studio erstellte Projekt bzw. die darin
erstellten Programm-Bestandteile. Wenn ich nun "public" von "internal"
abgrenzen möchte, muss es da ja noch mehr geben, als nur den Zugriff
innerhalb meines Projekts. Kann mir das jemand verständlich erklären?
Guts Nächtle,
Roger