C# StyleCop SA1620,我不知道';我不知道如何根据自己的喜好解析XML注释
我有以下带有注释的代码:(它可以编译)C# StyleCop SA1620,我不知道';我不知道如何根据自己的喜好解析XML注释,c#,stylecop,C#,Stylecop,我有以下带有注释的代码:(它可以编译) // ///返回特定类型的传递结果 /// ///要返回的值的类型 ///要返回的值 ///通过的结果 公共静态结果通过(T值) { 返回新结果() { 通过=正确, 价值=价值 }; } 我得到以下警告: 警告1 SA1620:CSharp.文件: 文档标题中的typeparam标记必须 匹配方法的泛型类型 我确实在帮助页面上查看了此错误,其中给出了以下解释: 若要修复违反此规则的情况,请添加并填写一个标记 对于元素上的每个泛型类型参数,并确保 标记
//
///返回特定类型的传递结果
///
///要返回的值的类型
///要返回的值
///通过的结果
公共静态结果通过(T值)
{
返回新结果()
{
通过=正确,
价值=价值
};
}
我得到以下警告:
警告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>
{
}
//
///一个示例泛型类。
///
///第一个泛型类型参数。
///第二个泛型类型参数。
公共班级1
{
}
我看不到我的方法有任何违反它所显示的标准的地方,我也尝试过各种奇怪的事情,但我不知道我应该在这里做什么。这可以编译的唯一方法是,如果这个方法在
t
中是泛型的类中。此方法没有任何类型参数。如果它是泛型的,则在方法名称之后会有类型参数:
public static Result<T> Pass<T>(T value)
{
return new Result<T>()
{
Passed = true,
Value = value
};
}
公共静态结果传递(T值)
{
返回新结果()
{
通过=正确,
价值=价值
};
}
但你的方法并非如此。因此,它必须是:
class SomeClass<T>
{
public static Result<T> Pass(T value)
{
return new Result<T>()
{
Passed = true,
Value = value
};
}
}
class-SomeClass
{
公共静态结果通过(T值)
{
返回新结果()
{
通过=正确,
价值=价值
};
}
}
任何关于类型参数的文档都属于类级别。例如:
/// <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
};
}
}
//
///这是一个结果类
///
///要返回的值的类型
公开课成绩
{
公共布尔值通过{get;set;}
公共T值{get;set;}
///
///返回特定类型的传递结果
///
///要返回的值
///通过的结果
公共静态结果通过(T值)
{
返回新结果()
{
通过=正确,
价值=价值
};
}
}
代码可以编译。它位于一个具有以下标题的类中:public class result问题是StyleCop不喜欢它。我想知道为什么.@WarpWars.Net-我想说的是类的文档中应该有
元素,而方法的文档中不应该有
元素。就是这样。对不起,我以前不明白你的答案。全班都有。我只需要从方法中删除该行。谢谢你的帮助!(感谢您在代码示例中添加注释,这确实有助于更好地解释)
/// <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
};
}
}