我不知道如何根据它的喜好解析我的XML注释

本文关键字:我的 XML 注释 喜好 何根 我不知道 | 更新日期: 2023-09-27 17:50:13

我有以下带注释的代码:(它确实编译)

/// <summary>
/// return a passing result of a particular type
/// </summary>
/// <typeparam name="T">Type of the value to be returned</typeparam>
/// <param name="value">the value to be returned</param>
/// <returns>a passing result</returns>
public static Result<T> Pass(T value)
{
    return new Result<T>()
    {
        Passed = true,
        Value = value
    };
}

我得到以下警告:

警告1 SA1620: CSharp。文档:文档头中的typeparam标签必须匹配方法的泛型类型。

我确实查看了这个错误的帮助页面,它给出了这样的解释:

要修复违反此规则的情况,请添加并填充一个标记对于元素上的每个泛型类型参数,并确保标记以与元素类型相同的顺序出现参数。

并提供了示例代码:

/// <summary>
/// A sample generic class.
/// </summary>
/// <typeparam name="S">The first generic type parameter.</typeparam>
/// <typeparam name="T">The second generic type parameter.</typeparam>
public class Class1<S, T>
{ 
}

我没有看到我的任何东西打破了它所显示的标准,我已经尝试了各种奇怪的事情,但我真的不知道我应该在这里做什么。

我不知道如何根据它的喜好解析我的XML注释

唯一可以编译的方法是如果这个方法在T中是通用的class中。这个方法没有任何类型参数。如果它是泛型的,则在方法名之后会有类型参数:

public static Result<T> Pass<T>(T value)
{
    return new Result<T>()
    {
        Passed = true,
        Value = value
    };
}

但是你的方法不是这样的。所以必须是:

class SomeClass<T>
{
  public static Result<T> Pass(T value)
  {
      return new Result<T>()
      {
          Passed = true,
          Value = value
      };
  }
}

关于类型参数的任何文档都属于类级别。例如:

/// <summary>
/// This is a result class
/// </summary>
/// <typeparam name="T">Type of the value to be returned</typeparam>
public class Result<T>
{
    public bool Passed { get; set; }
    public T Value { get; set; }
    /// <summary>
    /// return a passing result of a particular type
    /// </summary>
    /// <param name="value">the value to be returned</param>
    /// <returns>a passing result</returns>
    public static Result<T> Pass(T value)
    {
        return new Result<T>()
        {
            Passed = true,
            Value = value
        };
    }
}