問題タブ [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.
c# - CA2000 と返された Socket オブジェクト: 解決方法
私は次の機能を持っています:
そして、ここでコード分析中にCA2000(スコープを失う前にオブジェクトを破棄する)警告が明らかにあります。返されたソケットは、次にサーバーとの通信に使用されます。なので、ここで処分することはできません。ここで後でこのオブジェクトを破棄しても、CA2000 があります。
これを解決するには?
asp.net - DataSet をキャッシュし、CA2000 警告を受け取らないようにする方法
ASP.NET の Web キャッシュにキャッシュしたい DataSet があります。コンテンツは頻繁には変更されず、数時間のキャッシュが機能するはずです。
私の問題は、DataSet を作成するときに、dispose を呼び出す必要があるという CA2000 警告が表示されることです。ただし、一部の記事では、DataSet をキャッシュできると述べています。DataSet が Dispose を直接実装しているとは思えません。ただし、それはクラスから派生しています。
CA2000 警告を受け取らないように DataSet をキャッシュする最善の方法は何ですか?
c# - メソッドから使い捨てオブジェクトを返すときの CA2000
を実装するオブジェクトを構築するファクトリ メソッドがありますIDisposable
。最終的に、作成されたオブジェクトの有効期間を管理するのは呼び出し元です。この設計により、多数のCA2000 エラーが発生します。私のデザインに何か根本的に間違っているものがありますか? リファクタリングが必要ですか? それとも静的コード分析の警告に興奮しすぎているのでしょうか?
ファクトリーメソッド
発信者
c# - CA2000 - 「未就学のジュニア プログラマー」 - 間違いまたは誤検出?
現在、WebSocket を使用していくつかのデスクトップ アプリケーションを開発しています (より正確には、Alchemy WebSocket を使用しています)。今では私のコードは正常に動作していますが、Visual Studio 2010 から指示されます。
私はすでに MSDN のヘルプ ( http://msdn.microsoft.com/en-us/library/ms182289.aspx ) と (もちろん) stackoverflow.com を昼夜を問わず検索して ( 「使用」の使用)、この問題を解決しようとしました。 in C# ) - 残念ながら、これ以上良くなることはありません。
では、私の質問は次のとおりです。私が見つけられない問題を確認するには、「後輩」には程遠いのでしょうか、それとも Visual Studio 2010 からの単なる誤検出でしょうか?
これが私が苦労しているコードの一部です:
c# - using ステートメントの Stream の場合は CA2000/CA2202
CA2000 と CA2202 の警告は、最近私の存在の悩みの種でした。ここで何が間違っていますか?私は基本的にFileStream
usingFile.Open
を取得し、新しいストリームを返すか、同じストリームを返す関数に渡します。次に、ストリームでさらにいくつかのアクションを実行し、finally
使用していたストリームが異なる場合はブロックで破棄します。
2 つの CA 警告が表示されます。ブロック内では2000 fileStream
、ブロック内using
では 2202 です。何を与える?changedStream
finally
vb.net - 戻り値に関する CA2000 警告
これは何度も議論されていることは知っていますが、解決策がうまくいかないようです。
私は機能を持っています:
ご覧のとおり、多くの Dispose ステートメントがあります。これは、私がそれを機能させる方法を見つけようとしていたからです。私が見つけた唯一の方法 (明らかに解決策ではありません) は、retVal.Dispose()
retval を返す前に追加することでした。
どんなヒントでも大歓迎です!:)
注:VS2012を使用しています
編集: MSが提案した単純なテンプレートも試しましたが、どちらも機能しません:
にCA2000を投入tempRetVal = New DisposableObject
。
c# - コード分析: CA2000 警告
次のコードに CA2000 警告が 6 つあります。コード分析を行うと、この警告が表示されます。この警告を克服する方法と、この警告が表示される理由を教えてください。この警告をクリアする方法を教えてください。事前に感謝します。
警告は次のとおりです。
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 を呼び出します。