问题标签 [ca2000]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
144 浏览

c# - CA2000 和返回的 Socket 对象:如何解决?

我有下一个功能:

在代码分析期间,我显然有CA2000(在失去范围之前处理对象)警告。接下来返回的套接字用于与服务器通信。所以我不能在这里处理它。即使我稍后在这里处理这个对象,我也有 CA2000。

如何解决这个问题?

0 投票
1 回答
169 浏览

asp.net - How to cache a DataSet and NOT receive the CA2000 warning

I have a DataSet that I would like to cache in the ASP.NET's web cache. The content does not change very often and a cache of a few hours should work.

My problem is that when I create the DataSet, I get a CA2000 warning about dispose needing to be called. However, some articles say that I can cache the DataSet. I don't believe the DataSet directly implements Dispose; however, it is derived from a class that does.

What is the best way to cache a DataSet so I do not receive the CA2000 warning?

0 投票
4 回答
3380 浏览

c# - 从方法返回一次性对象时的 CA2000

我有一个工厂方法来构建实现IDisposable. 最终,管理创建对象的生命周期的是调用者。这种设计触发了一堆CA2000 错误。我的设计中是否存在根本不正确的地方,是否需要重构,或者只是对静态代码分析警告过于兴奋?

工厂方法

来电者

0 投票
1 回答
1629 浏览

c# - 当我不处理我的 MDI 子窗体时,代码分析抱怨“CA2000 在失去范围之前处理对象”

CA2000 在失去作用域之前处理对象

在方法FormMain.barButtonItem1_ItemClick(object, ItemClickEventArgs)

在对对象“frm”的所有引用超出范围之前调用 System.IDisposable.Dispose。Winpro FormMain.cs 32

方法 :

这不是一个严重的问题,但为什么会被解雇呢?

我不能使用 finallyfrm.Dispose()或者using()因为不会显示表单。

我也尝试过处理表单关闭然后处理,但违规总是在这里。

0 投票
1 回答
300 浏览

c# - CA2000 - "out-of-school-junior-programmers"-mistakes or false positive?

I am currently developing some desktop applications using websockets (to be more precisely: i am working with Alchemy WebSockets). By now my code is working fine, but Visual Studio 2010 tells me to

I already tried to fix this problem with MSDNs help (http://msdn.microsoft.com/en-us/library/ms182289.aspx) and (of course) by searching stackoverflow.com day and night (Uses of "using" in C#) - but sadly it won't get any better.

So here's my question: am I far to "junior" to see the problem I can't find, or is this just a false positive from Visual Studio 2010?

Here's the piece of code I am struggling with:

0 投票
2 回答
527 浏览

c# - 在 using 语句中用于 Stream 的 CA2000/CA2202

CA2000 和 CA2202 警告最近一直是我存在的祸根。我在这里做错了什么?我基本上得到一个FileStreamusingFile.Open然后将它传递给一个可能返回新流或可能返回相同流的函数。然后我对我的流执行更多操作,然后在我的finally块中处理我正在使用的流,如果它不同的话。

我收到两个 CA 警告。2000 用于fileStream块内using,2202 用于changedStream块内finally。是什么赋予了?

0 投票
1 回答
286 浏览

vb.net - 返回值的 CA2000 警告

我知道这已经讨论过很多次,但似乎没有解决方案有效,所以我认为并且可能值得尝试重新打开它,因为已经过了一段时间。

我有一个功能:

如您所见,有很多 Dispose 语句。这是因为我试图找到一种让它工作的方法。我发现的唯一方法(显然不是解决方案)是retVal.Dispose()在返回 retval 之前添加。

任何提示将不胜感激!:)

注意:我使用的是 VS2012

编辑: 我也尝试了 MS 提出的简单模板,但它也不起作用:

CA2000 被抛出tempRetVal = New DisposableObject

0 投票
2 回答
867 浏览

c# - 代码分析:CA2000 警告

我有以下带有六个 CA2000 警告的代码。我在进行代码分析时收到此警告。请让我知道如何克服这个警告以及为什么我会收到这个警告。请帮助我如何清除此警告并提前感谢。

警告如下。

01 ) 警告 1 CA2000:Microsoft.Reliability:在方法“Pay.gvTax_RowDataBound(object, GridViewRowEventArgs)”中,对象“tableHeaderCell”未沿所有异常路径处理。在对对象“tableHeaderCell”的所有引用超出范围之前调用 System.IDisposable.Dispose。

02) 警告 2 CA2000:Microsoft.Reliability:在方法“Pay.gvTax_RowDataBound(object, GridViewRowEventArgs)”中,对象“tableHeaderCell”未沿所有异常路径处理。在对对象“tableHeaderCell”的所有引用超出范围之前调用 System.IDisposable.Dispose。

03) 警告 4 CA2000:Microsoft.Reliability:在方法“Pay.gvTax_RowDataBound(object, GridViewRowEventArgs)”中,对象“tableHeaderCell”未沿所有异常路径处理。在对对象“tableHeaderCell”的所有引用超出范围之前调用 System.IDisposable.Dispose。

04) 警告 4 CA2000:Microsoft.Reliability:在方法“Pay.gvTax_RowDataBound(object, GridViewRowEventArgs)”中,对象“tableHeaderCell”并未沿所有异常路径进行处理。在对对象“tableHeaderCell”的所有引用超出范围之前调用 System.IDisposable.Dispose。

05) 警告 5 CA2000:Microsoft.Reliability:在方法“PayCommission.gvCommissionTax_RowDataBound(object, GridViewRowEventArgs)”中,对象“tableHeaderCell”未沿所有异常路径进行处理。在对对象“tableHeaderCell”的所有引用超出范围之前调用 System.IDisposable.Dispose。

06) 警告 6 CA2000:Microsoft.Reliability:在方法“PayCommission.gvCommissionTax_RowDataBound(object, GridViewRowEventArgs)”中,对象“tableHeaderCell”未沿所有异常路径进行处理。在对对象“tableHeaderCell”的所有引用超出范围之前调用 System.IDisposable.Dispose。

0 投票
1 回答
3623 浏览

c# - C# CA2000 Dispose Object Before Losing Scope

This is my code, it gives me CA2000 on "new DataTable()..." and "new DataColumn()..."s

Is it possible to fix without declaring variables?

0 投票
2 回答
295 浏览

c# - 如何为 SqlCommand 修复这个 CA2000?

我正在尝试执行如下 SQL 查询,但 Visual Studio 抱怨 CA2000。

错误 CA2000 ...object 'new SqlCommand()' 未沿所有异常路径进行处理。在对对象“new SqlCommand()”的所有引用超出范围之前调用 System.IDisposable.Dispose。

我尝试了几种方法来修复它,但没有一种方法奏效。那么如何修复呢?