Aracılığıyla paylaş


.NET 9+ ile sunulan deneysel özellikler

.NET 9'dan başlayarak, bazı özellikler API şeklinin ExperimentalAttribute veya işlevselliğinin sürüme dahil olduğunu ancak henüz resmi olarak desteklenmediğini belirtmek için öğesini kullanır. Deneysel özellikler, .NET ekibinin API'yi iyileştirme ve sonraki ana sürümde özniteliği kaldırma [Experimental] amacıyla API'nin şekli ve işlevselliği hakkında geri bildirim toplamasına olanak sağlar.

Kodunuz deneysel bir API'ye başvurduğunda, derleyici gibi SYSLIB5XXXbir kimlikle hata üretir. Deneysel olarak işaretlenen her özelliğin benzersiz bir tanılama kimliği vardır. Deneysel bir özelliğin kullanılmasına açık bir şekilde onay vermek için belirli bir tanılamayı gizlemeniz gerekir. Tanılamayı gizlemenin herhangi bir yolu aracılığıyla bunu yapabilirsiniz, ancak önerilen yol, tanılamayı projenin <NoWarn> özelliğine eklemektir. Daha fazla bilgi için bkz . Uyarıları gizleme.

Her deneysel özelliğin ayrı bir kimliği olduğundan, bir deneysel özelliğin kullanılmasına onay vermek başka bir özelliğin kullanılmasına izin vermez.

Başvuru

Aşağıdaki tabloda .NET 9+ içindeki SYSLIB5XXX deneysel API'ler için bir dizin sağlanmaktadır.

Tanılama Kimliği Sunulan özellikler Açıklama
SYSLIB5001 .NET 9 Tensor<T> ve içindeki ilgili API'ler System.Numerics.Tensors deneyseldir
SYSLIB5002 .NET 9 SystemColors alternatif renkler deneyseldir
SYSLIB5003 .NET 9 Sve deneyseldir
SYSLIB5004 .NET 9 DivRem(UInt32, Int32, Int32) deneyseldir çünkü performans en iyi duruma getirilmemiştir T.DivRem
SYSLIB5005 .NET 9 System.Formats.Nrbf deneyseldir
SYSLIB5006 .NET 10 Kuantum sonrası şifreleme (PQC) türleri deneyseldir.

Uyarıları gizleme

Deneysel bir özellik kullanmak, özellik kararlı ve tam olarak destekleniyor olarak işaretlenmeden önce API şekli ve işlevselliği hakkında geri bildirim gönderme fırsatı sunar. Ancak özelliğin kullanılması derleyiciden bir uyarı oluşturur. Uyarıyı gizlediğinizde, API şeklinin veya işlevselliğinin bir sonraki ana sürümde değişebileceğini kabul etmiş olursunuz. API kaldırılabilir. Uyarıyı bir <NoWarn> proje ayarı (önerilen) veya koddaki bir #pragma yönerge aracılığıyla gizleyebilirsiniz.

Proje dosyasındaki uyarıları engellemek için:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
   <TargetFramework>net9.0</TargetFramework>
   <!-- NoWarn below suppresses SYSLIB5001 project-wide -->
   <NoWarn>$(NoWarn);SYSLIB5001</NoWarn>
   <!-- To suppress multiple warnings, you can use multiple NoWarn elements -->
   <NoWarn>$(NoWarn);SYSLIB5002</NoWarn>
   <NoWarn>$(NoWarn);SYSLIB5003</NoWarn>
   <!-- Alternatively, you can suppress multiple warnings by using a semicolon-delimited list -->
   <NoWarn>$(NoWarn);SYSLIB5001;SYSLIB5002;SYSLIB5003</NoWarn>
  </PropertyGroup>
</Project>

Koddaki uyarıları engellemek için:

// Disable the warning.
#pragma warning disable SYSLIB5001

// Code that uses an experimental API that produces the diagnostic SYSLIB5001
//...

// Re-enable the warning.
#pragma warning restore SYSLIB5001

Ayrıca bkz.