Auf Funktion konnte nicht zugegriffen werden, da sie "Friend" heißt

Rene42

Erfahrenes Mitglied
Hi Leute,

ich hab selbst eine Programmbibliothek angelegt, die ein Modul "Funktionen" enthält, welches widerum die eine "Public Sub Test" hat, und die Bibliothek erstellt.

Dann habe ich ein neues Programm gestartet. Brav die Bibliothek unter Verweise hinzugefügt und auch über
Code:
Imports MeineBib
importiert. Also will ich dann die Test Makro damit aufrufen:

Code:
Funktionen.Test()

Dabei tritt noch vor dem kompilieren der Fehler auf, dass er meint, er kann nicht auf das Modul "Funktionen" zugreifen, da es Friend ist. Dachte ich hätte es so langsam mit der Objektorientierung heraus, aber was es bedeutet das das Friend ist sagt mir nix.

Gruß Rene
 
Friend erweitert die Sichtbarkeit auf alle Klassen innerhalb der Assembly (exe, dll) .
Ist Kombinierbar mit Private und Protected.

http://msdn.microsoft.com/de-de/library/08w05ey2.aspx

Verwendung von Friend

In vielen Fällen kann es wünschenswert sein, dass Programmierelemente wie Klassen und Strukturen von der gesamten Assembly verwendet werden, statt nur von der Komponente, mit der sie deklariert werden. Möglicherweise sollen sie jedoch nicht für Assembly-externen Code zugänglich sein, z. B. wenn die Anwendung proprietär ist. Wenn Sie den Zugriff auf ein Element in dieser Weise beschränken möchten, deklarieren Sie es mit Friend.

Der Friend-Zugriff wird für die Programmierelemente einer Anwendung häufig als Zugriffsebene bevorzugt. Beachten Sie, dass Friend als Standardzugriffsebene einer Schnittstelle, eines Moduls, einer Klasse oder einer Struktur zugeordnet wird, sofern Sie keine andere Zugriffsebene deklarieren.
 
Zurück