2012-04-11 11 views
0

私の会社では、MVC.NETとEntity Frameworkを使用してSQL接続を実行しています。メソッドの戻り値の型がIEnumberableでない場合、警告を生成するクラスにカスタム属性を作成する方法があるかどうか疑問に思っていましたか?この考え方は、デベロッパーがコレクションをデフォルトにしないようにして、関数をあまり一般的でないものにすることです。メソッドを確認するカスタム.NET属性戻り値の型

+1

あなたの質問を少しはっきりさせることができますか? *「関数をあまり一般的でないようにするコレクションにデフォルト設定する」*は何を意味しますか? –

+0

メソッドは、飾りたいクラスにどのように関連していますか? –

答えて

1

.Net属性は実行時に評価され、開発者がコードを書き出す際に警告を出すのには役立ちません。 FxCop/StyleCopのような静的解析ツールを見ると、コンパイル時にこれらの警告が表示されることがあります。特定のケースでは、チェックを行うカスタムルールを記述する必要があります。

+0

+1私はちょうど同じことを言っている答えを書いていました! (私はそこに逃したと思う)。これを追加するには、そのようなルールを書く方法へのリンクがあります:http://blogs.msdn.com/b/codeanalysis/archive/2010/03/26/how-to-write-custom-static-code - 分析 - ルールと統合 - それらをビジュアルスタジオに - 2010.aspx - そうすることは、あなたがやりたいことにもっと適していると思います(ただし、完全に実装するのはかなり難しいかもしれません - つまり、 IEnumerable は実際に有効です - 私は言いますが、少し調査の価値があります)。 – kmp

0

属性などではなく、戻り値の型をチェックする単体テストを作成します。あなたのコードを醜くすることはできません。

関連する問題