12

.net 4 で「動的」キーワードの使用を無効にする方法はありますか?

VS2010 のコード分析機能には、dynamic キーワードを使用するとビルドが失敗するルールがあるのではないかと思いましたが、うまくいきませんでした。

4

5 に答える 5

5

これは C# 4.0 言語の一部なので、そうではありません。

ただし、 FXCopを使用してそれを探し、検出された場合はビルドを失敗させることができます。

スタイル警官は代わりに動作する可能性があります:

http://code.msdn.microsoft.com/sourceanalysis

これは、同じ問題と、スタイル警官がどのように答えになるかについて話しているリンクです。完全ではありませんが、FX 警官に動的キーワードを検索させる方法についての投稿もあります。

http://social.msdn.microsoft.com/Forums/en/vstscode/thread/8ce407ba-bdf7-422b-bbcd-ca4701c3a76f

于 2010-05-07T20:21:10.847 に答える
3

dynamic キーワードは悪ではありませんが、使用すると悪になる可能性があります。

これにより、実行時にしか検出できないコード エラーが発生します。これは何としても避けるべきです。実行時エラーはよくありません。コンパイル時エラーは良いです。

次のようなものを使用して、独自の基準を設定できます。 http://joel.fjorden.se/static.php?page=CodeStyleEnforcer

于 2010-05-07T20:29:50.933 に答える
2

ターゲット.net 1.0? :-)

または、コードレビューを行います。

(または、あまり面白くないために、動的の使用を禁止するカスタム FxCop または CA ルールを作成するのは非常に簡単なはずです)

今すぐ C++ マクロを強制終了しませんか? :-)

于 2010-05-07T20:21:40.480 に答える
2

への参照を削除すると、 のすべての使用がコンパイルに失敗するMicrosoft.CSharp.dll可能性があると思います。dynamic

于 2010-05-07T20:42:33.500 に答える
1

動的キーワードに対するこの不合理な恐怖が何のためにあるのか、私にはよくわかりません。匿名変数と .NET 3.5 の var キーワードに対するこの種のヒステリーがありましたが、これらは正当な静的に定義された型であるため、ばかげていました。

dynamic キーワードは非常に特殊な目的を果たします。理由を理解せずに、なぜ誰もがそれを使用したいのかわかりません。ただし、動的キーワードを含む .NET 4 の新機能のいくつかを説明する 1 つのチーム ミーティングで、その発生を防ぐことができます。あなたはどちらかというと、チームのシニアまたはシニア リーダーであると思います。最初にあなたに会いに来るために動的キーワードを使用する必要があると感じた場合、チームに伝えるのは非常に簡単です。

これはまさに私がチームに与えた指示でした。なぜなら、私たちは COM 相互運用アクティビティを記述していないため、dynamic キーワードを使用する可能性が低いからです。それ以降は、あらゆる種類の動的プロキシの使用を Linfu や Castle などの確立されたライブラリに委ね、動的プロキシの実装をそれらに任せて、動的キーワードを使用するかどうかを決定します。

于 2010-06-18T12:31:07.847 に答える