Entwickler-Ecke

WinForms - Zugriffsrecht auf Liste einer Klasse


Spielcind - So 28.03.10 01:37
Titel: Zugriffsrecht auf Liste einer Klasse
Guten Morgen,

ich habe in einer Klasse eine Liste auf die ich von außen zugreigen möchte. Wie bei jedem anderen Objekt habe ich set und get Methoden erstellen lassen;


C#-Quelltext
1:
2:
3:
4:
5:
internal List<Channel> Channels
        {
            get { return channels; }
            set { channels = value; }
        }


Wie schon zu sehen ist wurde nicht das Schlüsselwort public sonder internal generiert. Wenn ich es auf puplic ändere bekomme ich die Fehlermeldung
Zitat:
Fehler CS0053: Inkonsistenter Zugriff: Eigenschaftentyp "System.Collections.Generic.List<ScopeDisplay.Channel>" ist weniger zugreifbar als Eigenschaft "ScopeDisplay.ScopeDisplay.Channels"



Auch auf die einzelnen Elemente kann ich mit einer Methode nicht zugreifen;

C#-Quelltext
1:
2:
3:
4:
5:
public Channel getChannels(int index)
        {
            return channels[index];

        }


Zitat:
Fehler CS0050: Inkonsistenter Zugriff: Rückgabetyp "ScopeDisplay.Channel" ist weniger zugreifbar als Methode "ScopeDisplay.ScopeDisplay.getChannels(int)"



Auch wenn ich die Liste selbst auf public setze kommt die entsprechend gleiche Fehlermeldung. Wieso kann ich auf die Liste nicht zugreifen? Ist das mit irgendwelchen Tricks möglich?


Danke schonmal!


Christian S. - So 28.03.10 01:50

Hallo!

Mit welcher Sichtbarkeit wurde die Klasse Channel deklariert?

Grüße
Christian


Spielcind - So 28.03.10 02:05


C#-Quelltext
1:
public partial class ScopeDisplay : UserControl                    


Es handelt sich um ein erstelltes Steuerelement.


Christian S. - So 28.03.10 02:08

Ich fragte nach der Klasse Channel, nicht nach ScopeDisplay


Spielcind - So 28.03.10 02:23

Danke dir! ;)


JüTho - So 28.03.10 10:33

user profile iconSpielcind hat folgendes geschrieben Zum zitierten Posting springen:
Danke dir! ;)

Verrätst du uns noch, wofür du dankst? Christian hatte zweimal nach etwas gefragt, wofür die Antwort noch aussteht. Oder hast du inzwischen eine Lösung gefunden und willst sie verheimlichen? :?:

Jürgen