【C#】让ReSharper灰色显示未使用的非私有成员的关键

简介: 原文:【C#】让ReSharper灰色显示未使用的非私有成员的关键环境:VS2010+ReSharper8 先说答案: 1、在Inspection Severity中设置Non-private accessibility为Warning。
原文: 【C#】让ReSharper灰色显示未使用的非私有成员的关键

环境:VS2010+ReSharper8

先说答案:

1、在Inspection Severity中设置Non-private accessibility为Warning。如图:

该页面在ReSharper菜单→Options中。贴士:选项是可以搜索的,搜索框在选项区上方

2、启用Solution Wide Analysis(SWA)。启用方法有几种:

- 双击VS最右下角落的圆点,或右击圆点→Analyze Errors in Solution。如图:

- 菜单ReSharper→Options→Code Inspection→Settings→Analyze errors in whole solution,勾上它。如图:

启用该功能会弹提示,说会降低VS性能,占用更多内存啥的,Ok即可。但如果项目不小或机器太烂,确实要慎重。我的理解,启用后,RS会在整个解决方案范围内检查成员使用情况,你想想,一个Solution那么多Project,那么多class member,每一个都要检查,着实不是个轻量简便的活。另外提个醒,这功能也就在当前Solution范围内检查,对于有些很公用的类成员,它不在这个方案里使用,但可能在其它方案里用到,所以也别见到灰色成员就剔~反正大家都懂的,是我啰嗦。

下面开始叽歪:

发现这问题是因为,一直以来都知道对于无任何使用的私有成员,ReSharper是会把它显示为灰色的,对于我这种轻度代码洁癖患者来说,这功能很好,但非私有成员就不会灰显,在选项中也找到了Non-private accessibility,但设为Warning也没用,网上搜半天也搜不到说这问题的,搞的我还以为是RS的bug,专程上书RS feedback,人支持攻城狮很好,很快就给了我回信,看名字还是个雌的。但一开始她也没说到重点,说让我重新建个项目/解决方案啥的看看,后来又让我把RS配置导给她……反正来来回回沟通了若干封Email,可苦了我那蹩脚的english,在此感谢my friend - MS的MVP Alexis(这哥活跃在MS支持社区),以及感谢金山词霸~不用感谢国家了吧,他/它们在翻译上给了我很大帮助,不然光凭我很难完成这次求助。

后来甚至成功勾引到对方给我远程协助~关于远程工具的选用还有个题外,一开始我说我用的是一款叫QQ的IM,这工具有简单的远程协助功能,看您方便不……并且附上QQ国际版的官网给她~尼玛无意中还帮TX推广了下,后来她说要不用TeamViewer吧,看来这QQ在她们那儿还是不受待见呐。后来约好时间,我开好TV,告诉她ID和PWD,她远程过来,我演示了下“问题”给她看,然后她又把RS配置导了一遍,说带回去研究研究,有消息通知我,就闪人了。

过了天把她回信了,这次说到重点了,就说了下这个SWA的意义,让我启用看看,果然问题解决了,然后我对她千恩万谢,然后就没然后了。我估计她也是请教了其它人,才戳中了问题的关键。

Anyway,以后总算可以清晰明了的剔除无用的私有和非私有成员了,再次感谢RS,感谢Alexis,感谢金山词霸。

- 文毕 -

目录
相关文章
|
7月前
|
Java C#
C# 面向对象编程解析:优势、类和对象、类成员详解
OOP代表面向对象编程。 过程式编程涉及编写执行数据操作的过程或方法,而面向对象编程涉及创建包含数据和方法的对象。 面向对象编程相对于过程式编程具有几个优势: OOP执行速度更快,更容易执行 OOP为程序提供了清晰的结构 OOP有助于保持C#代码DRY("不要重复自己"),并使代码更易于维护、修改和调试 OOP使得能够创建完全可重用的应用程序,编写更少的代码并减少开发时间 提示:"不要重复自己"(DRY)原则是有关减少代码重复的原则。应该提取出应用程序中常见的代码,并将其放置在单一位置并重复使用,而不是重复编写。
76 0
|
4月前
|
C#
一文搞懂C#中类成员的可访问性
一文搞懂C#中类成员的可访问性
58 5
|
1月前
|
测试技术 Go C#
C#一分钟浅谈:ReSharper 插件增强开发效率
【10月更文挑战第25天】ReSharper 是 JetBrains 开发的一款 Visual Studio 插件,旨在提高 .NET 开发者的生产力。它通过代码分析、重构、导航等功能,帮助开发者避免常见错误,提升代码质量和开发效率。本文将通过具体代码案例,详细介绍 ReSharper 的常见功能及其应用。
46 1
|
API C#
C#反射与特性(三):反射类型的成员
C#反射与特性(三):反射类型的成员
284 0
|
6月前
|
开发框架 .NET 编译器
程序与技术分享:C#基础知识梳理系列三:C#类成员:常量、字段、属性
程序与技术分享:C#基础知识梳理系列三:C#类成员:常量、字段、属性
44 2
|
7月前
|
C# 开发者 索引
C# 11.0中的所需成员:强化接口与抽象类的约束
【1月更文挑战第24天】C# 11.0引入了所需成员(Required members)的概念,这一新特性允许在接口和抽象类中定义必须被实现的成员,包括方法、属性、索引器和事件。通过所需成员,C# 强化了对接口实现和抽象类继承的约束,提高了代码的一致性和可维护性。本文将详细探讨C# 11.0中所需成员的工作原理、使用场景及其对现有编程模式的影响。
|
7月前
|
C# 开发者 索引
C# 11.0中的静态抽象成员:接口中的新变革
【1月更文挑战第25天】C# 11.0引入了接口中的静态抽象成员,这一新特性为接口设计带来了更大的灵活性。静态抽象成员允许在接口中定义静态方法和属性,并要求实现类提供具体的实现。本文将详细探讨C# 11.0中静态抽象成员的工作原理、优势及其对现有编程模式的影响,旨在帮助读者更好地理解和应用这一新特性。
|
缓存 IDE API
C#反射与特性(五):主类型成员操作
C#反射与特性(五):主类型成员操作
401 0
C#反射与特性(五):主类型成员操作
|
缓存 算法 C#
【C#本质论 十】合式类型(一)重写Object成员及操作符重载(下)
【C#本质论 十】合式类型(一)重写Object成员及操作符重载(下)
104 0
|
缓存 算法 编译器
【C#本质论 十】合式类型(一)重写Object成员及操作符重载(上)
【C#本质论 十】合式类型(一)重写Object成员及操作符重载(上)
85 0