【发布时间】:2013-05-05 10:20:50
【问题描述】:
我有很多这样的代码:
ml = this.CriteriaList.ItemByName(SC_STATIONS) as MultiList;
我想用
替换它ml = (MultiList) this.CriteriaList.ItemByName(SC_STATIONS);
为此,我进入了 Resharper 选项,选择了自定义模式并创建了一个具有以下搜索模式的新模式:
`$expr1$ as $type1$;`
expr1 表示表达式,type1 表示类型。替换模式是($type1$) $expr1$;。
问题是 Resharper 永远找不到与此自定义模式匹配的任何内容。
我在这里错过了什么?
【问题讨论】:
-
是否必须在 ReSharper 上?
-
@AndreCalil 它没有。
-
你为什么要这样做?你知道不同的语法实际上意味着不同的东西吗?
-
@AngryHacker 这是你之前问过的stackoverflow.com/q/16471489/275751 的重复,或者说是延续,不是吗?
-
@LasseV.Karlsen:就个人而言,我看到作者使用
as语法而不是(type)语法的代码没有利用@987654330 这一事实如果强制转换失败,@ 返回 null。这意味着,当演员确实失败时,您将在一段时间后得到NullReferenceException。
标签: c# .net refactoring resharper resharper-7.1