35

私は2つのプライベート定数とパブリックメソッドを持っています:

private const byte _minAge = 24;
private const byte _maxAge = 29;

public bool IsInAgeRange() { ... }

XMLドキュメントを追加していますが、私のコードのユーザーがIntelliSenseでこれを読むことができれば最高です。Checks whether the age is within the allowed range (between 24 and 29).

私の質問は:私の定数を私のXMLドキュメントにレンダリングする方法はありますか?


私が思いついた代替案は次のとおりです。

  1. ドキュメントに24と29を書くだけです(実際の値への依存性がありません)
  2. constsを公開し、andを追加<see cref="MinAge"><see cref="MaxAge">ます(カプセル化を減らし、ドキュメントの情報量を減らします)
4

3 に答える 3

9

値を含む各定数に要約を追加してから、それらのコメントを参照してください。

/// <summary>24</summary>
private const byte _minAge = 24;
/// <summary>29</summary>
private const byte _maxAge = 29;

/// <summary>Checks whether the age is within the allowed range (between <inheritdoc cref="_minAge"/> and <inheritdoc cref="_maxAge"/>).</summary>
public bool IsInAgeRange() { ... }

まだ重複していることはわかっていますが、この方法では、定数が別のファイルで完全に定義されている場合でも、定数のコメントを定数の近くに保つことができます。

于 2020-08-31T12:18:58.157 に答える
3

_minAge定数の実際の値と_maxAgeドキュメントを書く方法はないと思いますが<see>、次のようにタグを使用してそれらを参照できます。

/// <summary>
/// Checks whether the age is within the allowed range (between <see cref="_minAge" /> and <see cref="_maxAge" />).
/// </summary>

これで、ドキュメント内にこれらの定数へのリンクが作成されるため、ドキュメントを生成して後でレンダリングするときに、ユーザーはこれらのリンクをクリックして適切な定数を参照できます。

于 2012-10-17T10:45:00.960 に答える
1

これは、@ kalu93からの回答と@DhyMikからのコメントを組み合わせて、タグとタグ<inheritdoc/>の両方でどのように使用できるかを示しています。<summary><param>

    /// <summary>24</summary>
    private const byte _minAge = 24;
    /// <summary>29</summary>
    private const byte _maxAge = 29;

    /// <summary>
    /// Checks whether the age is within the allowed range 
    /// (between <inheritdoc cref="_minAge"/> and <inheritdoc cref="_maxAge"/>).
    /// </summary>
    /// <param name="TheAge">
    /// Age (must be between <inheritdoc cref="_minAge" path="//summary"/> and 
    /// <inheritdoc cref="_maxAge" path="//summary"/>).
    /// </param>
    public bool IsInAgeRange(int TheAge) { 
      return _minAge <= TheAge && TheAge <= _maxAge; 
    }

関数にカーソルを合わせると、VisualStudioに制限が正しく表示されるようになりましたIsInAgeRange

関数のツールチップ

...パラメータにカーソルを合わせると、次のようになりますTheAge

パラメータツールチップ

于 2021-06-11T12:21:18.480 に答える