Public Eigenschaft mit dem Datentyp List

30/10/2008 - 16:57 von Christoph Herrmann | Report spam
Hi,

ich versuche gerade eine public Eigenschaft zu definieren für eine Liste:

public class Logsystem
{
public List<ILoghandler> Loghandlers { get; set; }
}

sodass ich folgende Sachen machen könnte:
Logsystem logsystem ...;
logsystem.Loghandlers.add(...);

Allerdings bekomme ich dabei einen Fehler:

Fehler 1 Inkonsistenter Zugriff: Eigenschaftentyp
"System.Collections.Generic.List<DragonEngine.ILoghandler>" ist weniger
zugreifbar als Eigenschaft "DragonEngine.Logsystem.Loghandlers"
C:\Dokumente und Einstellungen\herrmann\Eigene Dateien\Visual Studio
2008\Projects\Testprojekt\DragonEngine\Logsystem\Logsystem.cs 29 34
DragonEngine

Ist es nicht möglich eine Liste als public Eigenschaft zu definieren?
Ich will ja nicht unbedingt ein public Attribut verwenden aber
gleichzeitig auch nicht Methoden in der Klasse selbst zu implementieren,
die einfach den Aufruf weitergeben.

PS: Ich denke man merkt es, aber falls ich etwas umstàndlich geschrieben
hab, sind meine ersten Gehversuche in C#. Hab in meinem Buch nur leider
keine Beispiele gefunden mit Eigenschaften und Listen.

Mit freundlichen Grüßen,
Christoph Herrmann

http://dragonprojects.de/
 

Lesen sie die antworten

#1 Herfried K. Wagner [MVP]
30/10/2008 - 17:01 | Warnen spam
"Christoph Herrmann" schrieb:
ich versuche gerade eine public Eigenschaft zu definieren für eine Liste:

public class Logsystem
{
public List<ILoghandler> Loghandlers { get; set; }
}

sodass ich folgende Sachen machen könnte:
Logsystem logsystem ...;
logsystem.Loghandlers.add(...);

Allerdings bekomme ich dabei einen Fehler:

Fehler 1 Inkonsistenter Zugriff: Eigenschaftentyp
"System.Collections.Generic.List<DragonEngine.ILoghandler>" ist weniger
zugreifbar als Eigenschaft "DragonEngine.Logsystem.Loghandlers"
C:\Dokumente und Einstellungen\herrmann\Eigene Dateien\Visual Studio
2008\Projects\Testprojekt\DragonEngine\Logsystem\Logsystem.cs 29 34
DragonEngine

Ist es nicht möglich eine Liste als public Eigenschaft zu definieren? Ich
will ja nicht unbedingt ein public Attribut verwenden aber gleichzeitig
auch nicht Methoden in der Klasse selbst zu implementieren, die einfach
den Aufruf weitergeben.



Welchen Zugriffsmodifizierer besitzt der Typ 'ILoghandler'? Dieser Typ muß
ebenfalls 'public' sein.

M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Ähnliche fragen