All rules
IDE0380Unnecessary code rules (modifier preferences)
Remove unnecessary unsafe modifier
Remove unnecessary unsafe modifier
Microsoft docsDescription
This rule identifies code blocks, methods, types, or other declarations marked with the unsafe modifier that don't actually contain any unsafe operations. The unsafe modifier allows the use of pointers and other unsafe code features, but when those features aren't being used, the modifier is unnecessary and should be removed for code clarity.
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'.
}Your vote
Group results
0 yes 0 no
ConsensusNone (disabled)
Severity preference (yes voters)
Suggestion0
Warning0
Error0