14

Visual Studio プロジェクトには、 XML ドキュメント ファイルを作成するオプションがあります。Sandcastle や NDoc などのプログラムを実行して MSDN スタイルの API ドキュメントを作成する場合、XML ドキュメント ファイルが役立つことを理解しています。罰金。私はそれを気にしません。

このリンクによると: http://msdn.microsoft.com/en-us/library/s0we08bk.aspx

/doc スイッチを Visual Basic、C#、または C++ コンパイラのコマンド ラインに追加すると、IntelliSense ドキュメントの基礎となる .xml ファイルが生成されます。

したがって、これらの生成された XML ファイルからIntellisense コメント表示できると思います。

しかし、まったく別のプロジェクトでメソッドを呼び出す小さなテスト アプリを作成し、XML コメントが Intellisense に表示されるようにしました。MediaHelper クラスも保存していません。したがって、この場合、Intellisense が使用している .xml ファイルがないことは明らかです。

保存されていないクラスからのコメント

これらすべてに照らして、Intellisense はどこからがらくたを入手するのでしょうか? ありがとう!

4

2 に答える 2

21

ソース コードが既存のソリューション内にある場合 (または同じプロジェクト内にある場合)、Visual Studio は XML ファイルを見つける必要はありません。ドキュメント コメントがどこにあるかを認識しているため、それらを使用します。(Intellisense は、実際にまだ再構築していなくても、他のファイルで宣言したメンバーを知っているのと同じです。)

同じソリューション内のプロジェクト参照ではなく、DLL への参照を追加する場合は、XML ファイルを作成する必要があります。たとえば、私は NodaTime パッケージで NodaTime.xml を提供しているので、ソース コードがなくても、Intellisense でコメントを見ることができます。

于 2013-01-25T21:56:02.807 に答える
5

Intellisense は XML コメントから取得します。

たとえば、クラスがあるとしましょう:

///<summary>
/// This is an example class
///</summary>
static class Foo
{
    //members
}

実際には、それよりもさらに深くすることができます。たとえば、メソッド:

///<summary>
///Returns the object to string, uppercased.
///</summary>
///<param name="o">The object to be transformed.</param>
///<returns>The string.</returns>
public string someMethod(object o)
{
   return o.ToString().ToUpper();
}
于 2013-01-25T21:58:47.420 に答える