Sagen wir, ich erben eine Klasse, die mehrere öffentliche Eigenschaften und/oder Methoden hat, aber ich möchte nicht, dass sie öffentliche Eigenschaften/Methoden meiner Klasse sind - mit anderen Worten, ich möchte machen Diese Eigenschaften haben Eigenschaften meiner Klasse geschützt.Beschränken des Zugriffs auf vererbte Eigenschaften C#
Kann dies erreicht werden?
Ich hoffe, ich war klar genug, wenn nicht bitte lassen Sie es mich wissen, wird versuchen, mich besser zu erklären.
EDIT:
Richtig, ich danke Ihnen allen für die Antworten aber ich glaube nicht, dass ich klar genug war. Was ich versuche zu erreichen, ist dies:
Ich schrieb ein Windows-Steuerelement, das ListView-Steuerelement erweitert. ListView hat eine öffentliche Sammlung Elemente, die geändert werden können. Das ist alles in Ordnung, aber ich habe neue Methoden zum Hinzufügen von Elementen zu listview geschrieben, weil ich zusätzliche Daten benötige.
Es funktioniert alles gut, aber die Items-Sammlung kann immer noch durch irgendetwas modifiziert werden, was ein Problem ist, denn wenn ein Element durch direkte Manipulation der Items-Sammlung hinzugefügt wird, werden nicht alle Daten gesammelt Error.
Da wir hoffen, dieses Steuerelement mehrmals in verschiedenen Projekten wiederverwenden zu können, befürchten wir, dass früher oder später die Standardmethode zum Hinzufügen von Elementen zur Items-Auflistung verwendet wird (nur eine Frage der Zeit). Wir suchen nur nach einer Möglichkeit, dies zu verhindern, wie zum Beispiel eine Ausnahme auszulösen, wenn die Items-Sammlung größer wird, aber so, wie es beabsichtigt war.
Ich hoffe, das alles macht jetzt Sinn.
+1; Es ist immer noch möglich, über Casting auf die Original Items zuzugreifen. Aber ich denke, es ist das Beste, was Sie erhalten können, ohne ein UserControl zu verwenden, das den ListView enthält (was zu noch schlimmeren Problemen führt). – mmmmmmmm