In Pharo, die Methode, die Sie suchen sind, ist ClassDescription>>allMethodsInCategory:
:
| selectors |
selectors := MyClass allMethodsInCategory: #'protocol name'.
Um Methoden in einer Klasse seitigen Protokoll zu finden, auf die Metaklasse senden nur statt:
selectors := MyClass class allMethodsInCategory: #'protocol name'.
Eine andere Lösung Sie sollten jedoch in Erwägung ziehen, stattdessen ein Pragma zu verwenden, um Ihre Methoden zu markieren. Details zu diesem Ansatz finden Sie im Kommentar zur Klasse Pragma
. Es hat den Vorteil, dass andere Pakete frei Methoden hinzufügen können, die zu Ihrer Gruppe gehören (die in einem * Protokoll sein müssen), und dass das Pragma auch dazu verwendet werden kann, andere Metadaten zu speichern (zum Beispiel eine Bewertungsreihenfolge).
NB. Der Selektor allMethodsInCategory:
wurde in Pharo 3.0 und später zugunsten allSelectorsInProtocol:
veraltet
#alleMethodsInCategory: funktioniert auch in Squeak. –
+1 für die zusätzlichen Informationen über Pragmas –