VisualStudio XMLコメント<inheritdoc/>の使い方
このドキュメントの内容
VisualStudio2019 16.4 で inheritdoc がサポートされるようになりました。
メソッドをオーバーライドしたり、インターフェースのメンバを実装したりしたときに XML コメントを引き継ぐことができるようになる機能です。
対象のメソッドが複数の型パラメータや複数の引数を持つ場合にパラメータのコメントを期待通りに引き継がせることができず、小一時間試行錯誤してしまいました。単純な勘違いでした。
基底クラスに対してXMLコメントを記述する
次のように基底クラスを実装し、XMLコメントを記述しました。
GetItem メソッドは TKey, TItem の二つの型パラメータを持ちます。
/// <summary>
/// 基底クラス
/// </summary>
abstract class BaseClass
{
/// <summary>
/// 指定されたキーに対応するアイテムを取得します。
/// </summary>
/// <typeparam name="TKey">キーの型</typeparam>
/// <typeparam name="TItem">アイテムの型</typeparam>
/// <param name="key">キー</param>
/// <param name="item">取得されたアイテム</param>
/// <returns>取得できた場合 true を返します。</returns>
/// <exception cref="KeyNotFoundException">
/// 指定されたキーが存在しません。
/// </exception>
public abstract TItem GetItem<TKey, TItem>(TKey key);
}
誤)各タグに inheritdoc を記述する
summay や typeparam など各タグに inheritdoc を記述してみます。
基底クラスに記述したコメントは引き継がれるものの、型パラメータは全ての型パラメータに対するコメントが連結されて表示されてしまいます。
/// <summary>
/// サブクラス
/// </summary>
class SubClass : BaseClass
{
/// <summary>
/// <inheritdoc/>
/// </summary>
/// <typeparam name="TKey"><inheritdoc/></typeparam>
/// <typeparam name="TItem"><inheritdoc/></typeparam>
/// <param name="key"><inheritdoc/></param>
/// <returns><inheritdoc/></returns>
public override TItem GetItem<TKey, TItem>(TKey key)
{
return default;
}
}
TKey のツールチップの表示結果です。TKey と TItem に対するコメントが連結された結果が表示されています。TItem のツールチップも同じです。
正)inheritdoc だけ記述する
/// <summary>
/// サブクラス
/// </summary>
class SubClass : BaseClass
{
/// <inheritdoc/>
public override TItem GetItem<TKey, TItem>(TKey key)
{
return default;
}
}
Author And Source
この問題について(VisualStudio XMLコメント<inheritdoc/>の使い方), 我々は、より多くの情報をここで見つけました https://qiita.com/mxProject/items/36222d52a0a4caa05b8c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .