Questions tagged «resharper»

ReSharper是JetBrains的重构和生产力扩展,自2003年以来扩展了Microsoft Visual Studio版本的本机功能。

1
Moq:在不可重写成员上的无效设置:x => x.GetByTitle(“ asdf”)
不确定如何解决此问题,尝试对方法“ GetByTitle”进行单元测试 这是我的定义: public class ArticleDAO : GenericNHibernateDAO(IArticle, int>, IArticleDAO { public IArticle GetByTitle(string title) { IQuery query = Session.CreateQuery("...") return query.UniqueResult<IArticle>(); } } public interface IArticleDAO { IArticle GetByTitle(string title); } 单元测试: [Test] public void can_load_by_title() { _mockDaoFactory.Setup(x => x.GetArticleDao()) .Returns(_mockArticleDao.Object); _mockArticleDao.Setup(x => x.GetByTitle("some title")) .Returns(article1.Object); _articleManager.LoadArticle("some title"); Assert.IsNotNull(_articleManager.Article); …
111 c#  nhibernate  nunit  resharper  moq 

7
'is'与尝试使用空检查进行转换
我注意到Resharper建议我转一下这个: if (myObj.myProp is MyType) { ... } 到这个: var myObjRef = myObj.myProp as MyType; if (myObjRef != null) { ... } 为什么会建议这种变化?我习惯于Resharper提出优化更改和代码减少更改的建议,但这感觉就像是要接受我的单个语句并将其变成两条线。 根据MSDN: 一个是 表达式的计算结果为真,如果同时满足以下两个条件都满足: 表达式不为null。可以将表达式转换为type。也就是说,表单的强制转换表达式(type)(expression)将完成而不会引发异常。 我is是否只是在一行中误读了该代码,或者不执行完全相同的检查,而无需为空检查显式创建另一个局部变量?
107 c#  .net  casting  resharper 


5
ReSharper好奇心:“参数仅用于前提条件检查。”
为什么ReSharper会要求我提供此代码? private Control GetCorrespondingInputControl(SupportedType supportedType, object settingValue) { this.ValidateCorrespondingValueType(supportedType, settingValue); switch(supportedType) { case SupportedType.String: return new TextBox { Text = (string)settingValue }; case SupportedType.DateTime: return new MonthPicker { Value = (DateTime)settingValue, ShowUpDown = true }; default: throw new ArgumentOutOfRangeException(string.Format("The supported type value, {0} has no corresponding user control defined.", supportedType)); …

1
访问修改后的闭包(2)
这是从Access到Modified Closure的扩展问题。我只想验证以下内容是否真的足够安全用于生产。 List<string> lists = new List<string>(); //Code to retrieve lists from DB foreach (string list in lists) { Button btn = new Button(); btn.Click += new EventHandler(delegate { MessageBox.Show(list); }); } 每次启动我只会执行一次以上操作。目前看来,它工作正常。正如乔恩(Jon)在某些情况下提到的违反直觉的结果。那么,我需要在这里注意什么?如果列表多次运行,可以吗?
101 c#  .net  resharper  closures 

1
使用ReSharper将方法提取到已经存在的界面
我正在向实现接口的类中添加新方法,并且我喜欢使用“提取接口”重构,只需将方法添加到接口中即可。但是ReSharper似乎不支持向现有接口添加方法签名。 感觉好像我缺少什么,我敢肯定它可以通过某种方式完成。也许我应该先将方法签名添加到接口中,但这有时就是我的工作方式。我是否缺少某些快捷方式,功能或使用ReSharper错误?

7
ReSharper-在单行上强制花括号
当不使用花括号将单行代码块包围时,是否可以将ReSharper配置为修复C#代码,如下所示: if (blnSomeCondition) DoSomething(); // complain if (blnSomeOtherCondition) { DoSomethingElse(); // don't complain } 谢谢
100 c#  resharper 

30
您使用什么C#ReSharper 4+实时模板?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 您使用什么C# ReSharper 4.0模板? 让我们以以下格式分享这些内容: [标题] 可选说明 快捷方式:快捷方式 可用于: [AvailabilitySetting] // Resharper template code snippet // comes here 宏属性(如果存在): Macro1-值-EditableOccurence Macro2-值-EditableOccurence 请每个答案一个宏! 以下是一些NUnit测试装置和独立NUnit测试用例的示例,这些示例以建议的格式描述了实时模板。

20
为什么我不能引用我的班级图书馆?
我有一个解决方案,其中包含一个网站和Visual Studio 2008中的类库。 然后,在解决方案之外,我还有一个网站项目需要引用类库。我右键单击Bin文件夹或Project,然后选择Add Reference,然后选择我的Class Library Project,它将类库需要的15个左右的DLL添加到网站bin文件夹中,但是没有任何.cs文件可以识别using语句。 using MyLibrary.MyFolder; 它说它无法解决,ReSharper只是说可以将其安全删除,因为它未被使用。 ReSharper可以识别出它需要引用,并建议它“引用MyLibrary并使用MyFolder”。我不确定为什么会提示我添加已有的参考。当我接受建议时,我得到了错误 “未能引用模块。引用可能会在项目之间产生循环依赖关系。” 我尝试过进入网站属性页并删除所有引用并重新添加它们,但是它给出了相同的错误。任何想法为什么这不起作用?

16
Ctrl + R,Ctrl + R命令不起作用
我试图在Visual Studio 2008中使用Ctrl+ R,Ctrl+R命令重命名变量。我在底部收到一条错误消息,说 “键组合(Ctrl+ R,Ctrl+ R)绑定到当前不可用的命令(&Rename ...)。” 我没有运行它,也没有想到可以阻止修改文件的任何操作,F2命令允许重命名。有人知道怎么修这个东西吗? 编辑:我确实安装了Resharper,但是以前能够使用相同的设置来执行此操作,最近我迁移了计算机。

5
只读字段调用了不纯方法
我正在使用Visual Studio 2010 + Resharper,它在以下代码上显示警告: if (rect.Contains(point)) { ... } rect是一个readonly Rectangle字段,Resharper向我显示此警告: “为值类型的只读字段调用了Immpure方法。” 什么是不正确的方法?为什么向我显示此警告?
83 c#  resharper 

3
如何在多个解决方案之间共享相同的Resharper设置,而无需人工干预?
我们的项目以主解决方案(包含每个项目)和多个较小的解决方案(包含相关项目的分组)进行组织。 我想在每个解决方案中共享相同的Resharper设置,以确保开发人员永远不需要在Resharper中导入配置文件或为此手动进行任何操作。我们使用的版本是最新版本7.0.1。在TFS中签入的DotSettings文件在单个解决方案上效果很好,但是为20-30个解决方案复制同一文件是不行的。 是否有一种方法可以与整个团队中的每个项目/解决方案共享相同的配置,而无需开发人员显式配置此配置?理想情况下,应该可以为每个解决方案更改.DotSettings文件的路径,以便在编辑单个.DotSettings文件时,它会自动影响团队中的每个解决方案。 更新: 我对此进行了搜索,并尝试了2种不同的方法,但是它们都不是100%有效的: 使用mklink工具的硬链接可以在本地完美运行,但是TFS不支持它们 普通的快捷方式也可以解决此问题,但是Resharper不会阅读它们 我在这里没有选择。 更新2: Daniel Hilgarth提出的解决方案可以完美地工作,但前提是必须更新Resharper。导致7.1版中的每台计算机上的.DotSettings文件自动检出并进行编辑的错误已得到纠正。在更新软件之前和之后,我已经对此进行了测试,现在它可以按预期运行。 可以在以下位置找到有关该错误的更多信息: http://youtrack.jetbrains.com/issue/RSRP-288235

6
当Resharp说“无法修改文档”时,我需要一个解决方法。有人知道为什么这样做以及如何解决吗?
在过去的几个月中,我注意到几次,有时我会使用黄色的小灯泡图标,然后右键单击它并选择一个选项来为我修复某些东西,然后仅突出显示要修复的内容并弹出一个消息“无法修改文档”。 有人遇到这个问题吗? 你知道如何克服吗? 即使我可以手动编辑该文档,也几乎像resharper认为该文档是只读文档或其他内容。


5
使用Resharper的自定义Brace格式
我正在使用Resharper 4.5,并且在编写数组或对象初始化程序时需要自定义大括号格式。Resharper支持某些样式: 牛羚风格: int[] array = new int[] { 1, 2, 3 } 但是我需要: int[] array = new int[] { 1, 2, 3 } 有什么办法可以自定义此模板?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.