問題タブ [ca1062]

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 投票する
5 に答える
1908 参照

c# - CA1062:共同コンストラクター呼び出しでのValidateArgumentsOfPublicMethods

次のような2つのコンストラクターを持つクラスがあります。

FxCopを実行すると、CA1062:ValidateArgumentsOfPublicMethodsの違反が正しく報告されます。これsourcenull、が最初のコンストラクターにある場合、をスローするためです。NullReferenceExceptionsource.Name

この警告を修正する方法はありますか?

nullをチェックしてその引数を返す拡張メソッドを作成することはできますが、それは醜いでしょう。また、私が理解しているように、FxCopはそれが何をするのかを理解しないので、警告を解決しません。

0 投票する
3 に答える
3406 参照

visual-studio - CA1062を抑制する必要があります:パブリックメソッドの引数を検証しますか?

最近、プロジェクトをVisualStudio2008からVisualStudio2010にアップグレードしました。

Visual Studio 2008では、このコード分析ルールは存在しません。

このルールを使うべきかどうかわかりません。

私はオープンソースライブラリを構築しているので、人々が間違いを犯さないようにすることが重要だと思われます。ただし、ArgumentNullExceptionパラメータがのときにスローするだけの場合は、コードを記述しなくてもスローされるnullため、役に立たないコードを記述しているように見えArgumentNullExceptionます。

編集:また、対処する必要があるパフォーマンスの問題があります。nullすべてのパブリックメソッドをチェックすると、パフォーマンスの問題が発生する可能性があります。

そのルールを削除するか、違反を修正する必要がありますか?

0 投票する
2 に答える
6720 参照

c# - このコードのoutパラメーターでCodeAnalysisCA1062を取得するのはなぜですか?

私は非常に単純なコードを持っています(元のコードから単純化されているので、それほど賢いコードではないことがわかります)。コード分析を使用してVisual Studio 2010でコンパイルすると、警告CA1062:パブリックメソッドの引数を検証します。

私が得る警告:

CA1062:Microsoft.Design:外部から見えるメソッド'Foo.Bar(out int [])'で、使用する前に、パラメーター'x'から再割り当てされたローカル変数'(* x)'を検証します。

なぜこの警告が表示されるのか、それを抑制せずに解決するにはどうすればよいのかわかりません。new戻ることができますnullか?これはVisualStudio2010のバグですか?

アップデート

MicrosoftConnectでバグレポートを開くことにしました。

0 投票する
1 に答える
3561 参照

c# - FxCop 警告 CA1062 を抑制できません

c#/.net/fxcop!

...クラス内で、FxCopに文句を言って黙ってもらいたい

if (a == null) throw new ArgumentNullException("a");基本的に、このルールは、コード内のほぼすべてのメソッドの先頭にa を配置することを示唆しています。これは、例外処理ロジックを吸って変更します。

だから、私はこれを私のクラス本体のどこかに入れました:

とにかく、これは単一のメッセージを抑制することさえありません-私はまだこれらすべての警告を受け取ります. 間違いやすいメソッド定義の 1 つの真上にある場合にのみ警告を抑制します (つまり、このタイプのすべてではなく、1 つの警告のみを抑制します)。奇妙なことに、私のクラスで何度も発生する他の問題でも同じ構文が機能します。

私は何が間違っているのか分かりません。率直に言って、属性パラメーターの使用方法を本当に理解していません.. http://msdn.microsoft.com/de-de/library/ms244717.aspxは詳細に行き過ぎる。:T ...とにかく、何が正しくないか何か考えはありますか?

0 投票する
1 に答える
361 参照

c# - CA1062(コード分析)はReSharperに同意しません-誰が勝ちますか?

nullをチェックすると、CAは満足しますが、ReSharperはnullチェックは常にfalseになると言っています。ここで誰がより信頼に値するかはわかりません...理論的には、誰かが私のクラスから拡張してこのメ​​ソッドを呼び出してnullを直接渡す可能性があるため、ReSharperのバグのようです。しかし、私は、どのツールが正しいか、そしてどのツールにバグがあるかを再確認しようとしているだけだと思います。

0 投票する
1 に答える
808 参照

c# - パラメータの検証を生成して FxCop CA1062 を修正

大規模なプロジェクトでコード分析をオンにすると、膨大な量の CA1062 の減少が見られますが、これは IMO としてはまったく正しいことです。

私はこれらをそれぞれを通過することなく自動的に処理したいと思います.とにかく、すべてのメソッドパラメータにアサーションを使用するか、次のようなものを使用して、コード全体でこれを自動化します:

0 投票する
1 に答える
113 参照

.net - public nullable パラメータを検証した後も、コンパイラが CA1062 をスローするのはなぜですか?

FxCop コード アナライザーを有効にしたところ、警告を修正しましたが、これは修正できませんでした。

CA1062:パブリック メソッドの引数を検証します

コンパイラはまだファイル名にアクセスしている警告CA1062をスローしています

前もって感謝します