CA1420: Özellik, tür veya öznitelik için çalışma zamanı hazırlama gerekir
Özellik | Değer |
---|---|
Kural Kimliği | CA1420 |
Başlık | Özellik, tür veya öznitelik için çalışma zamanı hazırlama gerekir |
Kategori | Birlikte çalışabilirlik |
Hataya neden olan veya bozulmayan düzeltme | Yeni |
.NET 8'de varsayılan olarak etkin | Uyarı olarak |
Neden
Çalışma zamanı hazırlama gerektiren bir kod özelliği kullanılır ve çalışma zamanı hazırlama açıkça devre dışı bırakılır.
Kural açıklaması
Çalışma zamanı hazırlama devre dışı bırakıldığında çalışma zamanı hazırlama gerektiren özelliklerin kullanılması, çalışma zamanı özel durumlarına neden olur.
İhlalleri düzeltme
Çalışma zamanı hazırlamayı etkinleştirin veya çalışma zamanı hazırlama gerektiren kodu kaldırın.
Uyarıların ne zaman bastırılması gerekiyor?
Bu kuraldan bir uyarıyı gizlemeyin.
Örnek
Aşağıdaki kod parçacığı CA1420 ihlalini gösterir:
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
[assembly: DisableRuntimeMarshalling]
class C
{
// Violates rule CA1420.
[DllImport("NativeLibrary", SetLastError = true)]
public static extern void MyMethod ();
}
Imports System.Runtime.InteropServices
Imports System.Runtime.CompilerServices
<Assembly: DisableRuntimeMarshalling>
Class C
' Violates rule CA1420.
<DllImport("NativeLibrary", SetLastError:=True)>
Public Shared Sub MyMethod()
'...
End Sub
End Class
İhlali düzeltmek için derlemedeki öğesini DisableRuntimeMarshallingAttribute kaldırın.
GitHub'da bizimle işbirliği yapın
Bu içeriğin kaynağı GitHub'da bulunabilir; burada ayrıca sorunları ve çekme isteklerini oluşturup gözden geçirebilirsiniz. Daha fazla bilgi için katkıda bulunan kılavuzumuzu inceleyin.