Pourquoi les méthodes d'extension doivent-elles être statiques? [dupliquer]
Je ne comprends pas pourquoi il doit être statique? Quel est le problème avec la possibilité de créer un objet pour une méthode d'extension?
Réponses
Les méthodes d'extension sont un raccourci pour faire apparaître qu'une classe a plus de méthodes qu'elle n'en a réellement en vous permettant d'ajouter un appel à la méthode d'extension à une référence à une instance de la classe étendue. Une méthode d'extension non statique nécessiterait en outre une référence à une instance de la classe d' extension (car une méthode non statique peut référencer un état spécifique à l'instance), et cela n'aurait pas de sens dans la syntaxe.
Si vous voulez pouvoir exécuter une méthode sur des instances de deux classes, vous pouvez le faire, mais pas de la manière que vous envisagez.