« [TDD の練習] FizzBuzz 問題 | トップページ | サンプルコードはサンプルであって製品じゃないんだからねっ »

2008年12月25日 (木)

[.NET] SandCastle 用に、 namespace へのコメントをソースコードに埋め込む方法

いや、まだだから」 より。

その3.名前空間ごとに NamespaceDoc クラスを作成する。

ということで、この方法があったりします。
つまり、名前空間のコメントを入れるためのクラスを定義してしまうってゆー、まーなんというか、盲点というか、抜け道というかw
C# だとこんな感じですねー。

namespace 対象とする名前空間 {
    /// <summary>
    /// 名前空間の概要
    /// </summary>
    /// <remarks>名前空間の補足</remarks>
    [System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    class NamespaceDoc {
    }
}

…ぐふぅ。 そんなぁ~!? f(^^;
はい、 まさにドキュメント読んでませんでした orz

MSDN ライブラリの CompilerGeneratedAttribute クラスの解説には、

CompilerGeneratedAttribute 属性を使用して、要素がコンパイラによって追加されたか、ソース コード内で直接作成されたかを判断します。

この属性によって、SQL サーバーはコンパイラが生成した静的な値を参照できるようになります。

…って、 意味不明のことしか書いてないし~ (;;

ともあれ、 これで楽になるぞ (^^;

ただ、 このやり方だと、 不要なクラスがバイナリに入っちゃうのがちょっちいやんな感じ。
出来あがったアセンブリを ILDASM で覗くと、 こんなふう。

20081225_namepacedoc_il01

static クラスに変えたのでコンストラクタは無くなってますけど、 当然ながらクラス定義はしっかりアセンブリに入っちゃってます。

|

« [TDD の練習] FizzBuzz 問題 | トップページ | サンプルコードはサンプルであって製品じゃないんだからねっ »

プログラミング」カテゴリの記事

コメント

菊池さん、 トラックバックありがとうございます。

> そんなあなたに Conditional

やっぱ、 Conditional 属性とか #if ディレクティブで制御するですかね~ f(^^;

ドキュメント生成用のメイクファイルを用意してるなら、 それで OK ですね。
そうじゃないときは… 私みたいなマヌケは、 絶対忘れるに一票w

投稿: biac | 2008年12月26日 (金) 18時40分

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: [.NET] SandCastle 用に、 namespace へのコメントをソースコードに埋め込む方法:

» そんなあなたに Conditional [菊池 Blog]
そんなあなたに Conditional [続きを読む]

受信: 2008年12月26日 (金) 13時09分

« [TDD の練習] FizzBuzz 問題 | トップページ | サンプルコードはサンプルであって製品じゃないんだからねっ »