编写代码以填充对象中的文本框后,例如:
txtFirstName.Text = customer.FirstName;
txtLastName.Text = customer.LastName;
txtAddress.Text = customer.Address;
txtCity.Text = customer.City;
是否可以在Visual Studio(甚至像Resharper之类的东西)中将此代码复制并粘贴到保存函数中并反转等号周围的代码,以便它看起来像:
customer.FirstName = txtFirstName.Text;
customer.LastName = txtLastName.Text;
customer.Address = txtAddress.Text;
customer.City = txtCity.Text;
答案 0 :(得分:71)
在VS2012之前:
{[a-zA-Z\.]*} = {[a-zA-Z\.]*};
\2 = \1;
使用.NET正则表达式的VS2012(可能是后来的):
([a-zA-Z\.]*) = ([a-zA-Z\.]*);
${2} = ${1};
.*
(正则表达式)图标(替换文本框下的第三个)答案 1 :(得分:4)
我不知道。当然,如果您使用许多可用的绑定方法之一,那么您将不必 - 绑定将在两个方向上进行更新(包括通过通知进行更改)。
所以对于winforms:
txtFirstName.DataBindings.Add("Text", customer, "FirstName");
等
答案 2 :(得分:2)
我有同样的需求,但在John提供的解决方案中我不得不接受比a-zA-Z\.
更多的字符,所以我稍微修改了它的常规异常:
找到:{^[^\=]*} = {.*}
替换为:\2 = \1
这将在一行
上找回任何 第一个等号答案 3 :(得分:0)
首先使用Resharper将它们放在那里的选项是定义一个类似于的实时模板:
$uiElement$ = $dto$;
$dto$ = $uiElement$;
这将允许您键入一次,它将为您复制它,然后您可以将保存版本剪切并粘贴到另一个方法。