Beschränkte Verwendung

13/06/2008 - 20:20 von Roman Töngi | Report spam
Habe zwei Klassen Queue<T> und Node<T>.
Sie stehen in keiner vererbender Beziehung zueinander.

Wie kann ich erreichen, dass Klasse Node nur von Queue verwendet werden kann?


Vielen Dank
 

Lesen sie die antworten

#1 Frank Dzaebel
14/06/2008 - 08:28 | Warnen spam
Hallo Roman,

Habe zwei Klassen Queue<T> und Node<T>.
Sie stehen in keiner vererbender Beziehung zueinander.
Wie kann ich erreichen, dass Klasse Node nur von Queue verwendet werden
kann?



"verwendet" könnte jetzt viel heissen, ich nehme aber mal
die Interpretation über die Zugriffsmodifizierer.
Hier könntest Du mit "private" (ggf. protected) und Typ-Schachtelung
Dein Ansinnen erreichen, denn private Member sind nur innerhalb des
Klassen- oder Strukturtexts zugreifbar:

class Queue<T>
{
public void Test()
{
Node<string> sc = new Node<string>();
}
private class Node<T2>
{
}
}


[private (C#)]
http://msdn.microsoft.com/de-de/library/st6sy9xe(VS.80).aspx

Wàre Schachtelung für Dich nicht möglich, ginge theoretisch
auch die Auslagerung in eine Klassenbibliothek (neue Assembly),
sodass (ggf. auch über Namespaces) über eine internal Deklaration
der Zugriff nur in der Assembly möglich wàre.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen