Nous avons une méthode de contrôle de santé à la santé invocation p> Je veux remplacer cela pour appeler l'autre surcharge qui prend une seconde paramètre String (message) p> donc je veux modifier l'invocation comme p> J'essaie de Atteindre cela en utilisant le modèle de recherche de Restomer et remplacer. p> donc mon modèle de recherche est: J'ai également essayé ce - édité--
La boîte de suggestion indiquant le libellé correct (pour l'argument et l'identifiant), mais une fois appliqué, il est différent. J'utilise Resharper 6 P> P> Après avoir appliqué la suggestion, je reçois cela
p> Quand je clique sur Modifier le modèle
p> p> isnotnull ($ args $) code> - cela fonctionne bien et il trouve les appels de méthode p> < p> Remplacer le modèle:
isnotnull ($ args $, "$ args $ est null") code> - cela ne fait rien p>
isnotnull ($ args $, "" "" + $ ARGS $ + "" "" ") code> p>
3 Réponses :
Vous pouvez envisager d'essayer d'utiliser ce modèle:
IsNotNull($args$, "$args$ is null")
Dans ce cas, j'ai besoin du nom des arguments, pas de la valeur des arguments comme arg.tostring (). J'ai essentiellement besoin de joindre mes arguments avec des citations doubles
Je vois, désolé d'avoir mal compris, car j'ai utilisé pour tracer des valeurs de paramètre, pas le nom des arguments. Je vais essayer de voir si je peux modifier une solution pour répondre à votre besoin
Quel est votre Rechercher: Vous devriez avoir le résultat que vous voulez, c'est-à-dire $ args $ code> paramètre défini comme dans la recherche et remplacer? Si vous devez être
identifiant code>, vous remplacez-le devrait fonctionner: p>
isnotnull ($ args $) code> - où
$ args $ $ code> est un identifiant code> code>
Remplacer: isnotnull ($ args $, "$ args $ est null") code> p>
blockQuote>
Merci, malheureusement, cela n'a pas résolu le problème qu'il imprime toujours Isnotnull (Obj, Obj). Je veux mon deuxième paramètre ci-joint dans des guillemets doubles
"Où $ args $ est un identifiant" est la partie importante.
La méthode la plus simple consisterait à réécrire la méthode d'origine comme: puis cliquez sur la signature de la méthode et choisissez Refactor-> Méthode en ligne (Ctrl + R, Ctrl + i) . Si vous avez besoin de conserver la signature de méthode d'origine autour de la signature, vous pouvez ou vous pouvez cocher la case pour "supprimer la déclaration de méthode inlined". P> EDIT: on dirait que la solution de HMEMCY fonctionne dans 7.1, donc je suggérerais Une mise à niveau. Cependant, si cela n'est pas possible, essayez l'expression régulière suivante Recherche-and-remplacer dans Visual Studio. P> Find: IsNotNull\(([^\),]+)\);
Replace: IsNotNull($1, "$1 is null");
Merci pour la réponse, mais votre suggestion ne résolvait pas mon problème dans le contexte du motif de remplacement de Resharper ou en général. Je veux que le message spécifique soit diplayé. Pas seulement 'obj est null', dans ma question, ce n'était qu'un exemple
@Nasmisabeer: pas de problème. En fait, je viens de le comprendre et de mettre à jour ma solution.
@Nasmisabeer: En réalité, il semble que la solution de HMEMCY est correcte. La clé est que $ args $ doit être défini comme un identifiant dans la recherche avec la boîte de dialogue Motif et non un argument. Je ne sais pas pourquoi ils ont la limitation de devis pour les espaces réservés d'arguments, mais les espaces d'identifiant semblent bien fonctionner.
Pouvez-vous donner un exemple que cela n'a pas fonctionné et quelle version de Resharper utilise-t-elle? Il semble fonctionner correctement sur mon système.
Merci. Pouvez-vous montrer ce qui se pose si vous cliquez sur le lien "Motif Motif"?
S'il vous plaît ma pièce jointe dans la question
Impair. J'ai utilisé exactement les mêmes paramètres et cela fonctionne parfaitement en utilisant l'identifiant. La seule différence que je peux voir est que vous utilisez Resharper 6, et je suis sur 7.1.1. Peut-être qu'ils ont réorganisé quelque chose dans l'intervalle. Pouvez-vous essayer la démo de 7,1 30 jours et voir si cela fonctionne avec cela?
Désolé pour le retard Chris, il m'a fallu un moment pour trouver un PC de secours avec Resharper 7. Merci de travailler en effet.
Qu'est-ce que r # utilisez-vous? J'ai essayé la version proposée par @hmemcy et tout fonctionnait bien.
r # 7.1 code>