草庐IT

饭碗警告

全部标签

c# - 为过时的 C# 事件生成警告

有没有人知道让VisualStudioC#编译器在使用过时事件时发出构建警告的技巧或解决方法?如果我创建一个带有公共(public)事件的简单程序集并将Obsolete属性应用于该事件,当我引用该程序集并订阅另一个项目中的事件时,编译器不会在我构建时发出警告(即使使用最高警告级别或设置为错误的警告)。项目一中的事件声明:publicclassAPIClass{[Obsolete("Obsoleteinv2.0")]publiceventEventHandlerObsoleteEvent;}在项目2中使用Obsolete事件不会导致生成警告:privatevoidSubscribeToE

c# - CA2104 警告 : Is there any way to mark a class as `Immutable` to suppress it?

考虑下面的代码,它触发了CA2104:Donotdeclarereadonlymutablereferencetypes.publicclassTest{//ThisprovokesCA2104:"Donotdeclarereadonlymutablereferencetypes".protectedreadonlyImmutableClassImmutableMember;}publicclassImmutableClass{}有谁知道以一种可以抑制警告CA2104的方式将类标记为不可变的方法吗?我尝试用[ImmutableObject(true)]装饰MutableClass没有成

c# - 警告代码 cs0618 和 cs0612 有什么区别

我已经看到以下两个警告代码因使用标记为过时的代码而被抛出。cs0618和cs0612.根据文档,0618是2级,0612是1级。有谁知道这些代码之间的区别是什么以及是什么导致抛出一个而不是另一个? 最佳答案 我认为区别在于一个包含消息而另一个不包含消息。[Obsolete] //CS0612[Obsolete("UsenewMethodinstead",false)]//CS0618[Obsolete("UsenewMethodinstead",true)] //CS0619 关于c#-

C# 禁用警告

有没有一种方法可以像C++中的#pragmawarning(cmd:warningsNo)一样在C#中禁用某些警告? 最佳答案 几乎是thesame指令。 关于C#禁用警告,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/720804/

c# - 为什么 VS 警告我 typeof(T) 永远不是泛型方法中提供的类型,其中类型参数仅限于实现 T?

我希望问题是正确的,所以让我们举个例子。想象以下通用方法:publicabstractclassBase:IDisposable{publicstaticIEnumerableGetList()whereT:Base{//ToensureTinheritsfromBase.if(typeof(T)isBase)thrownewNotSupportedException();//...}}根据MSDN关键字where将类型参数T限制为Base类型或从此类继承。[...]awhereclausecanincludeabaseclassconstraint,whichstatesthatat

c# - 将标签文本显示为警告消息并在几秒钟后隐藏?

我有一些按钮可以验证用户是否是管理员。如果当前登录的用户不是管理员,则标签将显示为警告消息,然后在几秒钟后隐藏。我尝试在警告消息之后使用lblWarning.Hide();和lblWarning.Dispose();,但问题是,它甚至在显示警告消息之前就隐藏了消息.这是我的代码。privatevoidbutton6_Click(objectsender,EventArgse){if(txtLog.Text=="administrator"){Dialog();}else{lblWarning.Text="Thisactionisforadministratoronly.";lblWar

c# - 在 VS Code 中禁用特定的编译器警告

我想知道如何在VSCode中为整个项目抑制特定的编译器警告。我看过这个问题:Isitpossibletodisablespecificcompilerwarnings?但它适用于VisualStudio,而不适用于VisualStudioCode。以下是上面链接的问题中推荐的答案:1.SolutionExplorer>View>Properties>Build>SuppressWarnings和2.#pragmawarningdisablewarning-list对于#1:我在VSCode中的任何地方都找不到解决方案资源管理器。对于#2这只有在我将它包含在每个脚本的顶部时才有效。我需要

c# - 禁用/修复 .Designer.cs 文件中的代码分析警告

我正在广泛使用DataVisualization.Charting.Chart,而且大部分情况下它都能正常工作。但是,我经常运行代码分析,并处理了我自己的所有警告。但是,在使用图表的*.Designer.cs文件中大约有30个CA2000(对象未沿所有异常路径放置)。Designer文件生成了几乎所有的图表代码,并且几乎所有的图表元素都实现了IDisposable。我在项目首选项中选中了“抑制生成代码的结果”,但它仍然如此。有什么方法可以解决这个问题,而不必手动创建图表对象,也不必为该类中的其余代码禁用代码分析?有没有办法为所有.Designer.cs文件禁用它?或者,是否有一种解决方

c# - 抑制 Visual Studio 中所有项目的警告

我看到的答案显示了如何抑制针对特定代码行或特定项目的警告。我不想这样。我想为我的所有项目抑制特定警告。(如果重要的话,警告是IDE0044。我正在使用C#。) 最佳答案 VisualStudio2017(15.7.1)的最新更新现在提供了一个选项。在Tools->Options菜单下,选择TextEditor->C#->CodeStyle->General选项卡。在Fieldpreferences下,有一个Preferreadonly选项。将其设置为No。还有一个editorconfig设置,如果你想在你的代码旁边检查这个首选项,你

c# - 什么是 C# 6.0 #pragma disable 警告功能?

列表C#6.0finalfeatures包含一个名为#pragma的功能,列为“已添加”,示例是禁用警告。然而这个功能didexistinC#6.0之前。6.0到底增加了什么? 最佳答案 以前,您必须指定警告编号。所以要禁用CS0501,您可以使用#pragmawarningdisable0501现在,你可以使用#pragmawarningdisableCS0501...当您让Roslyn代码分析器使用不同的标识符发出警告时,这一点非常重要。它基本上将警告的命名空间从“数字”更改为“字母数字字符串”。我不知道新语法的细节-我还没有看