0

Microsoft の XML ドキュメント タグに関する SO に関するさまざまな質問をここで見てきましたが、いくつかのサンプル コードを追加するのに問題があります。

/// <summary>Return the oldest acceptable timestamp for a data packet.</summary>
/// <example>
/// if( GetOldestValidResultTime() < lastResultTime )
/// {
///     Console::WriteLine("Results are too old");
/// }
/// </example>
/// <returns>The timestamp (the Milliseconds field from a raw result) of the oldest acceptable data item given the timestamp in the latest result in the internal buffer.</returns>
long GetOldestValidResultTime();

これは私に与えます:

DataProcessor.h(154) : warning C4635: XML document comment applied to 'MyApp.DataProcessor.GetOldestValidResultTime': badly-formed XML: Only one top level element is allowed in an XML document.

&lt;DOxygen の出力とは対照的に、ソースを直接読んでいる場合 (たとえば)、これを使用する以外に、例を理解するのがはるかに難しくなる以外に、これを回避する方法はありますか? ..または、&lt;ここでの唯一のオプションはコードですか?

[編集]提案された CDATA ブロックを試しましたが、単一行でしか機能しないようです:

/// <example><![CDATA[ test < 5; ]]></example>
/// <example>
/// <![CDATA[ test < 5; ]]>
/// </example>

..しかし、実際に読みやすい例になる可能性のある複数行のコメントではありません。

/// <example><![CDATA[ 
/// test < 5;
/// ]]> </example>

[Edit2]予想通り失敗した最後の 2 つのステートメントの前から \\ を削除するという pierrre の提案を試みました。

/// <example><![CDATA[ 
test < 5;
]]> </example>

与えます:

error C2143: syntax error : missing ';' before '<'
4

1 に答える 1

4

CDATA ブロックを使用します。

于 2010-06-29T10:09:18.113 に答える