我们在项目中手动将对象属性从源对象映射到目标对象。 下面是一个简单的例子(请注意,两边的属性名称总是相同的(:
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;}
}
,然后使用正则表达式替换
public string FirstName {gets; set;}
跟
source.FirstName = target.FirstName;
通过在Visual Studio中选择所有属性并在查找和替换窗口中运行正则表达式。
感谢您的帮助。 亚历克斯
在使用正则表达式之前,你应该了解它是如何工作的:"反斜杠字符"。
我认为这是你需要的(我喜欢第一个(,
public[s]+string[s]+FirstName[s]+{[s]*gets;[s]*set;[s]*}
或
publics{1}strings{1}FirstNames+{{1}s*gets;s*set;s*}
让我们将第一种情况分开以易于理解,如下所示,
公共[s]+
字符串[s]+
FirstName[s]+
{
[s]*
;
[s]*
设置;
[s]*}
让我们专注于第一个和第二个词。
S
是 匹配任何空格字符。s
匹配任何非空格字符。[ character_group_can_be_here ]
匹配character_group中的任何单个字符。默认情况下,匹配区分大小写。
因此,[s]+
或s+
:匹配任何空格字符字符。一个或多个。s{1}
:匹配任何空格字符字符。 只有一个。
此外,
在public(keywork)
和string(type)
之间应分隔一个或多个空格字符。
更多信息:正则表达式语言 - 快速参考