Поделиться через


Удаление ненужных модификаторов unsafe (IDE0380)

Недвижимость Ценность
Идентификатор правила IDE0380
Заголовок Удаление ненужных модификаторов unsafe
Категория Style
Подкатегории Ненужные правила кода (параметры модификатора)
Применимые языки C#
Параметры 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

Чтобы отключить все правила стиля кода, задайте уровень серьезности для категории Stylenone в файле конфигурации.

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

Дополнительные сведения см. в разделе "Подавление предупреждений анализа кода".

См. также