Aracılığıyla paylaş


Uyarı CA2247: TaskCompletionSource oluşturucus un bağımsız değişkeni TaskCreationOptions değeri olmalıdır

.NET kod çözümleyici kuralı CA2247 , .NET 5'te başlayarak varsayılan olarak etkindir. TaskCompletionSource<TResult> türünde bir bağımsız değişken geçiren TaskContinuationOptions oluşturucu çağrıları için bir derleme uyarısı üretir.

Açıklamayı değiştir

.NET 5'den başlayarak .NET SDK'sı .NET kaynak kodu çözümleyicilerini içerir. Ca2247 de dahil olmak üzere bu kuralların bazıları varsayılan olarak etkindir. Projeniz bu kuralı ihlal eden bir kod içeriyorsa ve uyarıları hata olarak değerlendirecek şekilde yapılandırılmışsa, bu değişiklik derlemenizi bozabilir.

Kural CA2247, TaskCompletionSource<TResult> türünde bir bağımsız değişkeni geçiren TaskContinuationOptions oluşturucu çağrılarını bulur. TaskCompletionSource<TResult> türü, bir TaskCreationOptions değerini kabul eden bir oluşturucuya ve bir Object kabul eden başka bir oluşturucuya sahiptir. Yanlışlıkla TaskContinuationOptions değeri yerine bir TaskCreationOptions değeri geçirdiğinizde, Object parametresine sahip olan oluşturucu çalışma zamanında çağrılır. Kodunuz derlenir ve çalıştırılır ancak istenen davranışa sahip olmaz.

Sürüm kullanıma sunulmuştur

5.0

  • TaskContinuationOptions argümanı, karşılık gelen TaskCreationOptions değer ile değiştirin. Neredeyse her zaman kodunuzda bir hatayı vurgulamadığından bu uyarıyı gizlemeyin. Daha fazla bilgi için bkz. CA2247.

  • Kod analizini tamamen devre dışı bırakmak için proje dosyanızda EnableNETAnalyzers öğesini false olarak ayarlayın. Daha fazla bilgi için bkz . EnableNETAnalyzers.

Etkilenen API'ler