gendarme
SebastienがCecilベースの新しいアセンブリ検証ツールをチェックインした。アセンブリをロードして、「ルール」に従っていない型を検出してくれる。ルールは自分でmanaged codeを書いて実装する。アセンブリはCecilを使ってcilのレベルで解析される。
これは主にコードアクセスセキュリティの実装に際して、セキュリティまわりの膨大なチェックをするために書かれたものなのだけど(と理解している)、このフレームワーク自体は、セキュリティ以外のチェックにも使える。たとえばIDisposableWithDestructorWithoutSuppressFinalizeRuleという(なげー!)クラスでは、
- 型がIDisposableか
- デストラクタを持っているか
- Dispose()の中でSuppressFinalize()を呼んでいるか
といったチェックが行われる。
まあ詳しくは彼がmonologueで書いてくれると思うけど、とりあえず先走ってみた。