Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
| Ö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.