Gibt es eine Möglichkeit, nicht gezwungen zu werden, Member mit der MustOverride-Eigenschaft aufzunehmen, wenn Sie erben? Ich arbeite an einem benutzerdefinierten MembershipProvider, und ich brauche nur Zugriff auf ein paar Mitglieder. Es ist eine rein ästhetische Sache - ich hasse es einfach 100 Zeilen ungenutzter Mitgliederdeklarationen auszugeben.Nur neugierig, MustOverride in C#?
Antwort
Sie können mit der rechten Maustaste auf die vererbte Klasse klicken und "Implement this ..." auswählen und die Methodendefinitionen für Sie erstellen, indem Sie NotImplementedException() werfen, bis Sie den Methodencode neu geschrieben haben.
Nein, gibt es nicht.
Btw, MustOverride wird normalerweise in C# abstrakt genannt.
Normalerweise nicht aufgerufen, wird IS genannt. – Will
MustOverride (Abstrakt in C#) gibt an, dass es überschrieben werden muss. Es gibt keinen Weg darum.
Sie können Visual Studio die Funktionen für Sie stubben, aber sie müssen vorhanden sein, damit die Klasse instanziiert werden kann.
Eine weitere Option: Wenn Sie mehrere Versionen ausführen, können Sie eine Klasse erstellen, die die Member implementiert (NotImplementedException wirft oder nichts tut) und dann von THAT-Klasse ableitet. Ihre konkrete Version müsste nur die spezifischen Methoden überschreiben, die Sie wünschen.
Ja, es gibt ... Erklären Sie Ihre Klasse auch als abstrakt! :-P
Nun, ernsthaft, nur darüber nachdenken. Wenn Sie ein abstraktes Element in einer nicht abstrakten Klasse nicht implementieren würden, stellen Sie sich vor, was zur Laufzeit beim Aufruf einer Methode ohne Implementierung passieren würde? In C++ war dies möglich, und Sie erhielten einen Fehler "Reiner virtueller Funktionsaufruf".
- 1. Speicherverwaltung nur neugierig
- 2. C++ neugierig Verhalten in vector :: push_back()
- 3. Kann jemand MustOverride erklären?
- 4. Deklarieren Geteilt Mustoverride
- 5. C# WCF TestClient neugierig auf webconfig
- 6. C++ Zuordnung auf dem Stapel neugierig
- 7. Neugierig auf get_form_kwargs in FormView
- 8. Nur neugierig, wie das String-Objekt abgeleitet wird. (prototypisch)
- 9. Javascript API fb_dtsg Variable neugierig
- 10. Neugierig: Warum ist die Syntax "throws <SomeSpecific> Exception" nur in Java erforderlich?
- 11. Singletons, neugierig wiederkehrend Schablonenmuster und Spedition Konstruktorparameter
- 12. Neugierig auf Farbcode für Matplotlib Farben
- 13. WPF Textbox & Borders - neugierig Redimensionierung Verhalten
- 14. Handschrift Eingabe, hauptsächlich in Flash, neugierig, wie es Zeichen erkennt
- 15. Nur Unterordner in C# auflisten?
- 16. Wie nur lesbar in C#
- 17. Nur Debug-Ostreams in C++?
- 18. Neugierig, was Eclipse anzeigen Heap-Status 'zu wissen tut
- 19. Ich bin neugierig, ob Logisches Programm kann Algebra tun
- 20. neugierig, was ist falsch mit dieser if-Anweisung?
- 21. Neugierig über die neue Art, wie YouTube Seiten lädt
- 22. Pass nur einen Typ als Parameter in C#
- 23. OverflowException nur in VB.net, nicht in C#
- 24. C# Extrahieren nur HTML
- 25. Gibt es irgendeinen Grund, etwas "flüchtiges const" in C zu erklären, sondern nur "flüchtig" in C++?
- 26. Nur Objekt in Objective-C schreiben
- 27. String.Split nur am ersten Trennzeichen in C#?
- 28. „Nur Lesen“ haben Eigenschaftenaccessor in C#
- 29. Nur Berichte C Warnungen in Visual Studio
- 30. Direct2D nur teilweises Verknüpfen in C++ Builder
Spiffy! Das spart Zeit. Vielen Dank. –