Moin Leute,
ich habe in 3 abgeleiteten Klassen verschiedene Algorithmen gekapselt, die ich in mehreren Instanzen einsetzen möchte.
Um sicherzustellen, dass alle diese Instanzen von genau einer Klasse erstellt werden, möchte ich die Konstruktoren dieser Klassen
Spoiler anzeigen
Allerdings kommt in
Weiß jemand, wie ich das gestalten muss, damit das so funktioniert, wie es der Plan ist?
ich habe in 3 abgeleiteten Klassen verschiedene Algorithmen gekapselt, die ich in mehreren Instanzen einsetzen möchte.
Um sicherzustellen, dass alle diese Instanzen von genau einer Klasse erstellt werden, möchte ich die Konstruktoren dieser Klassen
protected
machen und die Instanziierung in einer CreateInstance()
-Prozedur vornehmen:C#-Quellcode
- public class BASE_CLASS
- {
- protected BASE_CLASS() { }
- public static BASE_CLASS CreateInstance()
- {
- // TODO: Festlegen, welcher Algorithmusverwendet wird
- return new CLASS_1(); // hier kommt der Fehler
- //return new CLASS_2();
- //return new CLASS_3();
- }
- }
- public class CLASS_1 : BASE_CLASS
- {
- protected CLASS_1() { }
- }
- public class BASE_CLASS_2 : BASE_CLASS
- {
- protected BASE_CLASS_2() { }
- }
- public class CLASS_2 : BASE_CLASS_2
- {
- protected CLASS_2() { }
- }
- public class CLASS_3 : BASE_CLASS_2
- {
- protected CLASS_3() { }
- }
CreateInstance()
der Fehler Sind die Konstruktoren'CLASS_1.CLASS_1()' is inaccessible due to its protection level
public
, funktioniert das.Weiß jemand, wie ich das gestalten muss, damit das so funktioniert, wie es der Plan ist?
Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert!
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert!