CA2264: Null atanamayan bir değeri 'ArgumentNullException.ThrowIfNull' metoduna geçirmeyin.

Özellik Değer
Kural Kimliği CA2264
Başlık Null değer kabul etmeyen bir değeri ArgumentNullException.ThrowIfNull öğesine geçirmeyin.
Kategori Kullanım
Düzeltme bozucu ya da bozmayan olabilir Kesintisiz
.NET 10'da varsayılan olarak etkin Uyarı olarak
Geçerli diller C# ve Visual Basic

Neden

Null olmayacağı bilinen bir değer ArgumentNullException.ThrowIfNull()'a geçirilir.

Kural açıklaması

ArgumentNullException.ThrowIfNull geçirilen bağımsız değişken null olduğunda hata verir. Null atanamayan yapılar (örneğin, Nullable<T> hariç), null atanamayan yapılar olarak bilinen tür parametreleri, 'nameof()' ifadeleri ve 'new' ifadeleri gibi bazı yapılar hiçbir zaman null olmadıkları için, ArgumentNullException.ThrowIfNull hiçbir zaman hata oluşturmaz. Bu nedenle, çağrı ArgumentNullException.ThrowIfNull gereksizdir.

Bir yapı söz konusu olduğunda, object? kabul edildiği için yapı kutulanır ve bu da ek bir performans kaybına neden olur.

İhlalleri düzeltme

ArgumentNullException.ThrowIfNull aramasını kaldırın.

Örnek

Aşağıdaki kod parçacığı CA2264 ihlalini gösterir:

static void Print(int value)
{
    ArgumentNullException.ThrowIfNull(value);
    Console.WriteLine(value);
}

Aşağıdaki kod parçacığı ihlali düzeltir:

static void Print(int value)
{
    Console.WriteLine(value.Value);
}

Uyarıların ne zaman bastırılması gerekiyor?

Bu uyarıyı bastırmak her zaman güvenlidir.

Uyarıyı gizleme

Yalnızca tek bir ihlali engellemek istiyorsanız, kuralı devre dışı bırakmak ve sonra yeniden etkinleştirmek için kaynak dosyanıza ön işlemci yönergeleri ekleyin.

#pragma warning disable CA2264
// The code that's violating the rule is on this line.
#pragma warning restore CA2264

Bir dosya, klasör veya projenin kuralını devre dışı bırakmak için, yapılandırma dosyasındaki önem derecesini noneolarak ayarlayın.

[*.{cs,vb}]
dotnet_diagnostic.CA2264.severity = none

Daha fazla bilgi için bkz . Kod analizi uyarılarını gizleme.

Ayrıca bakınız