2010-09-22 7 views
2

Il y a plus de 90 fichiers (.cs) dans mon application.Chaînes ou macros en C#

J'ai utilisé une déclaration comme

string str = MyMessages.IDS_STR_STRING1; 
MyMessages.IDS_STR_STRING2; 
MyMessages.IDS_STR_STRING3; 

dans de nombreux fichiers dire presque certains fichiers plus de 40.

Où MyMessages est une classe statique.

J'ai maintenant ajouté une autre fonction dans cette classe dit GetMyString (identificateur de chaîne). Alors maintenant, les statmenets ci-dessus changerait à

MyMessages.GetMyString("IDS_STR_STRING1"); 
MyMessages.GetMyString("IDS_STR_STRING2"); 
MyMessages.GetMyString("IDS_STR_STRING3"); 

et ainsi de suite ....

maintenant à la recherche et le remplacement de chaque énoncé est fastidieux et pourrait conduire à des erreurs manuelles. Puis-je écrire une macro/un outil qui trouverait la chaîne et remplacer dans le format approprié?

Répondre

5

Vous pouvez utiliser la fonction Remplacer dans Visual Studio qui prend en charge les expressions régulières.

Quelque chose comme:

Entrée

// search for a whitespace character, then the string 'MyMessages.' 
// match the next group of characters that is a word (a-zA-Z) or an _ 
// and capture it into group number 1 
\sMyMessages\.([\w_]+); 

Remplacer

// Replace it with 'MyMessages.GetMyString("', then insert group 1 
// then add '");' to the string. 
MyMessages.GetMyString("\1"); 
+0

Le paramètre en fonction GetMystring doit être la chaîne trouvée après le "" ... qu'est-ce que – siva

+0

$ 1 dans la déclaration MyMessages.GetMyString ("$ 1"); – siva

+0

Vous pouvez vérifier ma modification pour la clarification –