mbx*_*mbx 13 .net c# vb.net resharper naming-conventions
按照通用命名约定 CLR类型名称的使用(例如String, Int16)要优于语言的特定类型名称的使用(string,short).我通常会遵循这个建议.然而,Resharper似乎在生成代码时使用特定于语言的类型名称(重构方法,如extract方法,生成foreach循环等),这非常烦人.
如何强制Resharper使用CLR类型名称?
更新
由于许多人想知道为什么有人会强制使用Int32代替int或String代替string使用的样式,意图是更好的语法高亮:int呈现为关键字,Int32呈现为类型.由于修改突出显示实现似乎有点过分,因此强制执行CLR类型只会完成工作.这是我们的风格指南的一部分原因之一.
mbx*_*mbx 15
打开R#选项,转到C#代码样式.或者更详细:
RESHARPER- >Options
Code Editing- > C#- >Code Style
Build-in type naming- > When referencing build-in type, prefer using选择CLR type name
如果您使用旧版本的ReSharper
R#4.5-5.1有一个扩展,正是考虑到了这个目的.它被称为Neovolve.不幸的是,这个扩展没有移植到任何后来的R#版本.
VS 2015
同样对于Visual Studio 2015,您可能希望禁用更喜欢内部预定义类型(这会导致符号在文本编辑器中变灰)Tools- > Options Text Editor- > C#- > Code Style- >Prefer intrinsic predefined type keyword*
这些指南指的是api上的公共方法名称,例如obj.ReadInt32()(可能在序列化程序中).在代码(变量和参数)的主体中,它没有明确指定.我个人比较喜欢的别名double,int等等-如:
Int32(愚蠢,但可能;其中 - int总是意味着global::System.Int32)using System;就个人而言,我不担心这一点.R#没有做错任何事.
顺便说一句-请注意,有MS的得到这个错误的几个例子-一个跃起想到的是IDataReader/ DbDataReader与GetFloat()(应该是GetSingle()).