代码检查:该参数应为常量以获得最佳性能
此检查会报告当参数注解有 ConstantExpected ,但传递的实参不是编译时常量的情况。 这些 API 旨在接收编译时已知的值。 传递变量或其他非常量表达式通常会违背注解的初衷,并可能导致 API 使用错误。
这与 CA1857代码质量规则相同。
示例
using System.Diagnostics.CodeAnalysis;
class C
{
static void Log([ConstantExpected] int eventId) { }
void M()
{
int id = GetEventId();
Log(id);
}
}
using System.Diagnostics.CodeAnalysis;
class C
{
static void Log([ConstantExpected] int eventId) { }
void M()
{
Log(42);
}
}
2026年 5月 8日