Autor Beitrag
BCT1
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: Do 19.05.11 20:12 
Hey, ich hab ein kleines Problem.
Ich habe folgende Klassen:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
public class A : System.Windows.Forms.Form
{
}


public class B : A
{
}

Klasse A befindet sich in einer anderen Assembly als Klasse B (im Projekt von Klasse B verweise ich auf die Assembly mit Klasse A). In Klasse A und B kann ich jetzt auf Eigenschaften der Windows Form zugreifen. Ich möchte aber, dass man diese Eigenschaften nur von Klasse A aus ändern kann. In Klasse B sollnicht ersichtlich sein, dass die Klasse "Form" überhaupt benutzt wurde.
Ich hoffe man konnte das jetzt einigermaßen verstehen.

Danke für Eure Hilfe

-Gruß
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Do 19.05.11 20:42 
Das eine Ableitung mindestens das selbe Interface erfüllt wie seine Basisklasse ist ein absolutes Grundprinzip der Objektorientierung. Das ganz oder teilweise zu verstecken ist also nicht möglich. Wenn sich deine Klasse nicht wie eine Form verhalten soll gibt es aber auch keinen Grund davon abzuleiten. Vermutlich solltest du eher darüber Nachdenken in deiner Klasse B eine Instanz der Klasse A zu verwalten und nicht von A abzuleiten.