12
votes

Comment désactiver la "méthode d'extension convertie en un refactoring automatique" de convertir en statique "dans Resharper?

Lorsque vous utilisez Resharper, pour une raison quelconque, lorsque j'appelle une méthode d'extension, elle le convertit automatiquement en un appel de méthode statique. Ceci est le tel appelé Convertir la méthode d'extension à la simple statique refactoring.

MyStaticExtensions.Bar(foo);


6 commentaires

Y a-t-il déjà un correctif?


Pire trait de Resharper jamais


vient de voir cela arriver aujourd'hui dans R # 9.1 changé myvar.select (mapper.map ). Toliste () à énumérable.toliste (myvar.select (mapper.map ))


Un bug de 6 ans est de retour!


J'ai aussi ce problème dans R # 9.


Pour référence Voici un lien vers un bogue associé sur les Jetbrains Youtrack: YOUTRACK.JETBRAS.COM/SISSUE / RSRP-433571


3 Réponses :


2
votes

Cela ne se produit pas pour moi (Resharper 4.5). Avez-vous un "nettoyage silencieux" activé? (RESHARPER - Options - Nettoyage de code).


3 commentaires

Nope, il ne semble pas que j'ai des profils de nettoyage mis en place. Cela n'arrive réellement dans une circonstance particulière. À savoir une méthode d'extension LINQ à SQL définie dans une classe partielle.


@Chals: OK, cela a plus de sens (que c'est une circonstance particulière). Je vais essayer de reproduire ...


Est-ce que quelqu'un a le correctif pour cela? C'est vraiment ennuyeux car il le convertit à partir d'une méthode d'extension à un appel de méthode statique (lors de l'utilisation automatique de nettoyage automatique), puis suggère que je la reconverse! :) MDR



4
votes

Cette fonctionnalité est intégrée à IntelliSense of Resharper. J'utilise beaucoup d'extensions LINQ-TO-SQL, j'ai donc désactivé cette fonctionnalité: Restomer - Options - Intellisense - Activez le Studio Visual Radiobutton


0 commentaires

1
votes

Vous pouvez désactiver ce comportement par décocher optimiser "en utilisant" directives . C'est un pitié r # a un comportement aussi fou; encore plus étrangement seulement pour quelques fichiers. Je suppose que cela ne se produit que si une méthode statique sur énumérable est appelée dans le fichier actuel.

Pour obtenir l'utilisation de l'utilisation du comportement de tri et de nettoyage, je vous recommande d'installer la productivité outils d'alimentation et de vérifier Options -> Editeur de texte -> C # -> Avancé -> Organiser des messages -> Placez les directives du système 'd'abord lors du tri USings.


0 commentaires