我希望在遗留代码库中替换大量重复代码,并发现 Resharper 的结构搜索和替换功能非常适合该任务。但是,我在使它与我的模式匹配时遇到了问题。
我希望快速修复的模式是:
public string PropertyName
{
get { return base.GetSubNode(_parameterNode, "ElementName").InnerText; }
set { base.GetSubNode(_parameterNode, "ElementName").InnerText = value; }
}
它将被替换为:
public string PropertyName
{
get { return GetProperty("ElementName"); }
set { SetProperty("ElementName", value); }
}
我创建了一个模式:
public string $propName$
{
get { return base.GetSubNode(_parameterNode, $elementName$).InnerText; }
set { base.GetSubNode(_parameterNode, $elementName$).InnerText = value; }
}
如果我进行搜索,则该模式匹配,但不会导致快速修复可用。如果我改为为 getter 和 setter 创建单独的模式,我会得到快速修复,但 getter 模式同时匹配 getter 和 setter。
吸气剂模式:
base.GetSubNode(_parameterNode, $elementName$).InnerText
我怎样才能得到这个 getter/setter 对的快速修复?