2011-12-20 10 views
5

プロパティの属性をいくつか作成しました。これらの属性を特定のデータ型のプロパティに限定したいのですか?考え方は、別の型に代入されるとコンパイラエラーがスローされます。これは可能ですか?C#属性の使用法:特定のデータ型を持つプロパティの属性のみを許可する

もしそうでなければ、私はランタイムにそれをチェックしなければならないと思います。

+0

可能な重複[http://stackoverflow.com/questions/4959863/how-to-make-net-attribute-only-valid-on-certain-types](http://stackoverflow.com/questions/4959863) /どのようにしてメイクネット属性のみ有効な特定のタイプ) – heads5150

+1

私はそれが重複しているとは思わない。それはクラスに属性を適用するためのものです。これは特定のタイプのプロパティ用です。 – Mel

+0

しかし、運命は同じように見えます:( – Mel

答えて

7

これを確認するカスタムFxCop/ Code Analysisルールを書くことができます。

FxCopはVS 2010で "Code Analyis"という名前で統合されており、プロジェクトプロパティのルールセットを変更できます。

+0

ありがとう、両方の答えは良い解決策です。私はここで使用しているので、CAに行くかもしれません。 – Mel

+0

@Mel FxCop/Code Analysisも絶対に良い選択です。 –

4

いいえ、これはできません。

ユニットテストを構築して、すべてのクラスとそのプロパティをトラバースし、この追加の適用基準をチェックすることをお勧めします。コンパイル時のエラーメッセージとしては快適ではありませんが、その目的に役立ちます。何らかの種類のビルド自動化インフラストラクチャがある場合は、品質保証レベルは実際に同じになります。