Schaffung Ich habe folgendes Szenario:Override-Funktion ohne neuen Klasse C#
public abstract class SomeClass
{
public virtual Foo()
{
//do stuff
}
}
und ich habe diese Klasse in einer anderen Klasse gespeichert
SomeClass InstanceOfTheClass { get; set; }
Wie kann ich Foo
von SomeClass
nur die Funktion außer Kraft setzen, ohne Erstellen einer neuen Klasse, die von SomeClass
erbt und dann die Funktion überschreibt?
Können Sie ein Beispiel geben? Ich bin ziemlich sicher danach werde ich in der gleichen Situation enden .. – PreqlSusSpermaOhranitel
Wie von @Renato Medeiros erwähnt, ist es nicht möglich, ohne eine abgeleitete Klasse zu überschreiben. So abstrahiere das Foo-Verhalten in eine Schnittstelle IFoo. Sie können IFoo dann dort implementieren, wo Sie "eine andere Klasse" erwähnt haben. Auf diese Weise müssen Sie keine konkrete Klasse für die abstrakte erstellen (ich meine, die abstrakte Klasse ist nicht im Bild). Hoffentlich hilft es, aber wenn nicht, bitte etwas Kontext angeben. –
Vereinbart mit @Anwar Husain hinsichtlich der Verwendung von Schnittstellen. Wenn Sie das konkrete Problem näher erläutern können, können Sie vielleicht eine detaillierte Antwort geben. –