2011-10-28 12 views
1

カスタム属性がSystem.AttributeUsage(AttributeTargets.Property)として定義されています。 開発者がクラスではないプロパティに属性を追加すると、コンパイルエラーがスローされます。それを行う方法はありますか?AttributeUsage(AttributeTargets.Property) - プロパティタイプの黒/白リストを指定する方法はありますか?

+0

短い答え:いいえ。 – CodeNaked

+2

長い答え:いいえ、いいえ。 –

答えて

0

いいえ、利用可能なものはありません。

しかし、自分のコード内でこれが心配であれば、すべてのアセンブリのすべてのタイプのすべてのプロパティを調べ、その属性が適切に適用されていることを確認するテストを書くことをおすすめします。

それは可能だが、テストと検証をすることは何もないよりはましであるとき

コンパイル時のチェックがベストです:)

+0

私は他の開発者が使用するフレームワークに取り組んでいます。そのため、私はコンパイル時に動作するソリューションを探していました。ああ、おそらくそれはMSが追加できるものです。 –

+1

@PaulRivera:そうは思わない - 少数の人には有益だが、誰もが*複雑になることはたくさんある。私は、あなた自身がこれをテストすることを非常に簡単にするテストアセンブリを含めることをお勧めします。 –

0

はあなたの希望を取得しないでください、しかし、あなたのようなものを使用してカスタムコンパイラエラーを強制することができるかもしれませんMicrosoftのコード・契約やFxCopの:

コードコントラクト:
http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx

FxCopの:
http://msdn.microsoft.com/en-us/library/bb429476(v=vs.80).aspx

また、Spec#をご覧ください。
http://research.microsoft.com/en-us/projects/specsharp/

関連する問題