Свойства карты регулярных выражений для объекта в классе C # в окне Найти и заменить - PullRequest
0 голосов
/ 18 октября 2019

Мы вручную отображаем свойства объекта из исходного объекта в целевой объект в нашем проекте. Ниже приведен простой пример (обратите внимание, что имена свойств с обеих сторон всегда одинаковы):

public class Source {
    public string FirstName {gets; set;}
}

public class Target{
    public string FirstName {gets; set;}
}

public Target Map(Source source, Target target){
   source.FirstName = target.FirstName;
}

Я пытаюсь скопировать определение свойства из одного из классов (исходного или целевого вк моему методу сопоставления, например:

public Target Map(Source source, Target target){
   public string FirstName {gets; set;}
}

, а затем используйте Regex для замены

public string FirstName {gets; set;}

на

source.FirstName = target.FirstName;

, выбрав все свойства в Visual Studio изапуск регулярного выражения в окне поиска и замены.

Спасибо за вашу помощь. Alex

1 Ответ

0 голосов
/ 18 октября 2019

Прежде чем использовать выражение регулярного выражения, вы должны понять, как оно работает: «Символ обратной косой черты».
Я думаю, что это то, что вам нужно (мне нравится первое),

public[\s]+string[\s]+FirstName[\s]+\{[\s]*gets\;[\s]*set\;[\s]*\}

или

public\s{1}string\s{1}FirstName\s+\{{1}\s*gets\;\s*set\;\s*\}


Давайте разберем первый случай, чтобы легко понять, как показано ниже,
public [\s]+ string [\s]+ FirstName [\s]+ \{ [\s]* получает \; [\s]* установить \; [\s]*\}

И давайте сосредоточимся на первом и втором словах.

\S is Соответствует любому пробелу символ.
\s is Соответствует любому не-пробел символ.
[ character_group_can_be_here ] is Соответствует любому отдельному символу в character_group. По умолчанию совпадение учитывает регистр.

Итак,
[\s]+ или \s+: соответствует любому символу пробела. один и более .
\s{1}: Соответствует любому символу пробела. просто один .

Кроме того,
Между public(keywork) и string(type) следует разделять один и более пробел.

Дополнительная информация: Регулярное выражениеЯзык - краткий справочник

...