Wie kann ich die Implementierung einer Methode zur Laufzeit von return false;
zu return true;
ändern? Ich habe keine Kontrolle über die Methodenimplementierung, da es mit einer Drittanbieterbibliothek geliefert wird. Jede Problemumgehung wird geschätzt. Nochmals: Ich kontrolliere weder die Methode selbst noch die Anrufer.Swap-Methodenimplementierung zur Laufzeit in .NET?
Antwort
Versuchen Sie die MethodRental.SwapMethodBody
Methode.
Ein wenig mehr Info würde helfen. Können Sie die Bibliothek umbrechen und andere Ihren Wrapper aufrufen lassen? Dies könnte auch eine große TDD Avenue sein. Sind Schnittstellen vorhanden, die Sie selbst implementieren können? Auch hier könnte DI Ihnen erlauben, Implementierungen auszutauschen.
ist es eine statische Methode. – usr
Sie können die Aufrufer dieser Methode abfangen und true zurückgeben, anstatt sie aufzurufen. Vielleicht kannst du mehr Details posten.
Nein, kann er nicht. Lesen Sie die Frage – SLaks
SLaks, ich benutze Reflexion, er könnte die Anrufer dieser Methode abfangen. Ich habe die Frage gelesen. – user134706
Wie? – SLaks
Bitte geben Sie weitere Informationen zu Ihrem Problem an. Wenn Sie nur das boolesche Ergebnis umschalten möchten, genügt ein einfacher bool result = !MyMethod();
;)
Unterklasse und Override. Wenn Sie keine Unterklasse erstellen können, verwenden Sie ein Decorator-Muster.
Er kann auch nicht - es ist eine statische Methode (siehe ersten Kommentar zur ersten Antwort) und er kontrolliert nicht die Call-Sites – SLaks
- 1. .Net laden Referenz zur Laufzeit
- 2. Referenzierte .NET-Assembly zur Laufzeit nicht gefunden
- 3. Aufrufmethode zur Laufzeit
- 4. Wie kann ich einen Workflow zur Laufzeit in. NET
- 5. ResX-Datei zur Laufzeit zusammenführen?
- 6. Auflisten der Inhalte einer eingebetteten .NET-Ressource zur Laufzeit
- 7. Welcher Overhead ist zur Laufzeit mit einer Erweiterungsmethode verbunden? (NET)
- 8. Bestimmung .Net Framework zur Laufzeit aus einer Bibliothek
- 9. Subtrahieren zur Laufzeit in Android
- 10. QRadioButtons zur Laufzeit hinzufügen
- 11. Hibernate-Datenbankkennwort zur Laufzeit
- 12. Ninject zur Laufzeit verbindlich
- 13. JPA-Kaskadenoptionen zur Laufzeit
- 14. Übersteuerung zur Laufzeit __setattr__
- 15. Apportieren Kontextkonfiguration zur Laufzeit
- 16. Änderung TopMost zur Laufzeit
- 17. Vtable-Änderungen zur Laufzeit
- 18. Bean zur Laufzeit ersetzen
- 19. Speichern xamlx zur Laufzeit
- 20. Android: Anfrage zur Laufzeit
- 21. Java-Compiler zur Laufzeit
- 22. Hibernate-Konfiguration zur Laufzeit
- 23. Einstellung "Modal" zur Laufzeit
- 24. Setze Klasseneigenschaft zur Laufzeit
- 25. Empty ControlCollection zur Laufzeit
- 26. Klassenimplementierung zur Laufzeit (Java)
- 27. Animation zur Laufzeit hinzufügen
- 28. MasterPageFile zur Laufzeit wechseln
- 29. create Tframes zur Laufzeit:
- 30. ändern Etikettenposition zur Laufzeit
Versuchen Sie, den Lizenzierungscode der Bibliothek zu umgehen? – SLaks
würde dies als etwas unethisch betrachtet werden? –
würde ich nie darüber nachdenken! – usr