我在探索大量C#教程时尝试使用const修饰符,并在类中放置了一堆const修饰符,但实际上没有在任何地方使用它们:classConstTesting{constdecimalsomedecimal=1;constintsomeint=2;...}对于此类,我收到以下警告(使用csc):ConstTesting.cs(3,19):warningCS0414:Thefield‘ConstTesting.somedecimal’isassignedbutitsvalueisneverused我不明白的是我只收到针对constdecimal的警告。constint不会给我任何警告,无论顺序或
我有以下代码:varfxRate=newFxRate();这给了我以下StyleCopReSharper警告:Thevariablename'fxRate'beginswithaprefixthatlookslikeHungariannotation.我已经尝试将Settings.StyleCop文件复制到我的解决方案文件夹并为fx添加一个条目:...fx...我已经重新启动VS,但我仍然收到相同的警告。我在VS2017中使用StyleCopReSharper扩展。如何确保“fx”是解决方案中的有效前缀(对于所有团队成员)? 最佳答案
我目前正在使用VS代码和Unity开发我的游戏。每次我打开编辑器,都会有99+Unnecessaryusingof指令,这让我很不爽。由于第三方插件有很多依赖性,我不确定是否可以删除它们。所以我想有一些方法来禁用它们。我试过类似的方法:"csharp.lint.unnecessaryUsingDirective":"ignore"但很明显,这是行不通的。所以我希望我能做些什么来隐藏或禁用此警告。 最佳答案 我觉得这个issuehasalreadybeenaddressed在最新版本的Omnisharp中——但由于我们被迫为Unity
我有一个返回值的扩展方法。在这种情况下,它应该在一个字节中设置一个特定的位:publicstaticbyteSetBit(thisbyteb,intbitNumber,boolvalue){if(value){return(byte)(b|(1返回值需要重新赋值给一个变量,因为我不能结合this和ref:bytemyByte=3;myByte=myByte.SetBit(1,false);很容易不小心忘记作业。有人可能会认为该方法直接更改值。对于String.Replace,ReSharper/VisualStudio(?)警告我未使用纯方法的返回值:这在某种程度上也适用于我的方法吗?
我遇到了这个错误,WRN:AssemblybindingloggingisturnedOFF.Toenableassemblybindfailurelogging,settheregistryvalue[HKLM\Software\Microsoft\Fusion!EnableLog](DWORD)to1.Note:Thereissomeperformancepenaltyassociatedwithassemblybindfailurelogging.Toturnthisfeatureoff,removetheregistryvalue[HKLM\Software\Microsoft
如何抑制整个类型的FxCop警告?namespaceConsoleApplication1{publicstaticclassSerializer{publicstaticstringSerialize(Tobj){returnstring.Empty;}publicstaticTDeserialize(stringstr){returndefault(T);}}我试过了,但它对我不起作用:[assembly:SuppressMessage("Microsoft.Design","CA1000:DoNotDeclareStaticMembersOnGenericTypes",Scope
这不同于thisone因为在那种情况下警告是有效的。在这种情况下,根据接受的答案,警告无效。我在寻找答案时看到了那个问题,它没有回答这个问题。给定以下代码:internalListGetPaletteList(intuserId){using(varstashEntities=newStashEntities())using(varpaletteEntities=newPaletteEntities()){varpaletteList=frompaletteinpaletteEntities.PalettesfromstashinstashEntities.Stasheswherepa
这是一段代码:IUseruser=managerUser.GetUserById(UserId);if(user==null)thrownewException(...);Quotequote=newQuote(user.FullName,user.Email);这里一切都很好。但是,如果我将“if”行替换为以下行:ComponentException.FailIfTrue(user==null,"Can'tfinduserwithId="+UserId);函数实现如下:publicabstractclassComponentException:ComponentExceptionwh
我目前正在处理的项目每次构建时都会生成30多个警告。他们从项目开始就被忽略了。我猜是由于缺乏关于警告的政策。您通常如何处理这种情况?完全无视他们?尝试一次修复它们(这需要一些时间)?还是一路上一点一点地修复? 最佳答案 只有30个,修理它们需要2小时的工作。我完全不同意任何人说最后期限取代修复这些警告的说法。与现在解决问题相比,您将在后期代码完成阶段浪费更多时间来解决问题。忽略你的经理,他可能是个白痴,想在老板面前表现得很好。初始质量和正确的设计比他任意的截止日期(在合理范围内)更重要。您首先收到警告这一事实意味着有人对代码草率。仔
为什么下面的代码行没有产生编译器警告?voidMain(){thrownewException();thrownewException();}在我看来,编译器应该会通知您无法到达第二个抛出异常。 最佳答案 这显然是一个编译器错误,它是在C#3.0中引入的——就在我大量重构可达性检查器的时候。这可能是我的错,抱歉。这个错误是完全良性的;基本上,我们只是忘记了警告记者中的一个案例。我们正确地生成了可达性信息;正如其他人指出的那样,我们在代码生成之前正确地删除了无法访问的代码。这个错误只不过是警告生成器中的一个缺失案例。我们有一些棘手的代