gpt4 book ai didi

c# - 如何在 ReSharper 模式中提取字符串的内容?

转载 作者:太空宇宙 更新时间:2023-11-03 14:20:56 25 4
gpt4 key购买 nike

我遇到了以下问题:

我想用 LINQ 成员表达式替换包含属性名称的硬编码字符串

// like this:
NotifyOfPropertyChange("MyProperty");
// becomes
NotifyOfPropertyChange(() => MyProperty);

使用 ReSharper 模式。

以下尝试无效:

NotifyOfPropertyChange("$prop$"); // ($prop$ is of type Identifier, results in parse error)
NotifyOfPropertyChange($prop$); // ($prop$ is of type Expression [System.String],
// almost works, but without removing the quotes

替换模式总是一样的:

NotifyOfPropertyChange(() => $prop$);

有什么想法吗?

最佳答案

我认为您在这里不需要 R# 的结构搜索和替换(这是幸运的,因为我不认为在当前版本中它可以做到这一点)。 Visual Studio 的查找和替换正则表达式应该足够好:

Find What: 
NotifyPropertyChange\("{.*}"\)

( ) 被转义,因此它们不会成为分组结构; { } 标记与其中的模式匹配的任何内容,使它们可用于替换表达式

Replace with:
NotifyPropertyChange(() => \1)

除了 \1 之外,这里的所有内容都是文字,它表示“第一个标记表达式”。

关于c# - 如何在 ReSharper 模式中提取字符串的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5418752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com