删除不必要的
| 资产 | 价值 |
|---|---|
| 规则 ID | IDE0380 |
| 标题 | 删除不必要的 unsafe 修饰符 |
| 类别 | Style |
| 子类别 | 不必要的代码规则(修饰符偏好) |
| 适用的语言 | C# |
| Options | None |
概述
此规则标识使用 unsafe 修饰符标记但实际不包含任何不安全操作的代码块、方法、类型或其他声明。 修饰 unsafe 符允许使用指针和其他不安全的代码功能,但如果未使用这些功能,则不需要修饰符,并且应出于代码清楚起见而删除该修饰符。
Example
// Code with violations.
// Unnecessary, no unsafe operations.
unsafe class MyClass
{
public void Method()
{
var x = 5;
}
}
// Unnecessary, no unsafe operations.
unsafe void ProcessData(int value)
{
Console.WriteLine(value);
}
// Fixed code.
class MyClass
{
public void Method()
{
var x = 5;
}
}
void ProcessData(int value)
{
Console.WriteLine(value);
}
// Example where 'unsafe' is needed.
unsafe class ValidUsage
{
int* pointer; // Pointer type requires 'unsafe'.
}
禁止显示警告
如果只想取消单个冲突,请将预处理器指令添加到源文件以禁用,然后重新启用规则。
#pragma warning disable IDE0380
// The code that's violating the rule is on this line.
#pragma warning restore IDE0380
若要禁用文件、文件夹或项目的规则,请在none中将其严重性设置为。
[*.{cs,vb}]
dotnet_diagnostic.IDE0380.severity = none
若要禁用所有代码样式规则,请将类别 Style 的严重性设置为 none中的 。
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
有关详细信息,请参阅 如何禁止显示代码分析警告。