Megosztás a következőn keresztül:


Kísérleti funkciók a .NET 9+-ban

A .NET 9-től kezdve egyes funkciók azt ExperimentalAttribute jelzik, hogy az API-alakzat vagy -funkciók a kiadás részét képezik, de hivatalosan még nem támogatottak. A kísérleti funkciók lehetővé teszik, hogy a .NET-csapat visszajelzést gyűjtsön egy API alakjáról és működéséről azzal a szándékkal, hogy pontosítsa az API-t, és eltávolítsa az [Experimental] attribútumot a következő fő kiadásban.

Amikor a kód egy kísérleti API-ra hivatkozik, a fordító egy olyan azonosítóval kapcsolatos hibát eredményez, mint a SYSLIB5XXX. Minden kísérletiként megjelölt funkció egyedi diagnosztikai azonosítóval rendelkezik. Ha kifejezett hozzájárulást szeretne adni egy kísérleti funkció használatához, letiltja az adott diagnosztikát. Ezt a diagnosztikák letiltására szolgáló eszközök bármelyikével megteheti, de a javasolt módszer a diagnosztikának a projekt tulajdonságához <NoWarn> való hozzáadása. További információ: Figyelmeztetések mellőzése.

Mivel minden kísérleti funkció külön azonosítóval rendelkezik, az egyik kísérleti funkció használatához való hozzájárulás nem járul hozzá a másik használatához.

Referencia

Az alábbi táblázat a .NET 9+-ban található SYSLIB5XXX kísérleti API-k indexét tartalmazza.

Diagnosztikai azonosító Bevezetett Leírás
SYSLIB5001 .NET 9 Tensor<T>és a kapcsolódó API-k kísérleti System.Numerics.Tensors
SYSLIB5002 .NET 9 SystemColors az alternatív színek kísérleti jellegűek
SYSLIB5003 .NET 9 Sve kísérleti
SYSLIB5004 .NET 9 DivRem(UInt32, Int32, Int32) kísérleti jellegű, mivel a teljesítmény nem olyan optimalizált, mint T.DivRem
SYSLIB5005 .NET 9 System.Formats.Nrbf kísérleti
SYSLIB5006 .NET 10 A kvantum utáni titkosítás (PQC) típusai kísérleti jellegűek.

Figyelmeztetések mellőzése

Egy kísérleti funkció használatával visszajelzést küldhet az API alakjáról és működéséről, mielőtt a funkció stabilként és teljes mértékben támogatottként lesz megjelölve. A funkció használata azonban figyelmeztetést eredményez a fordítótól. Ha letiltja a figyelmeztetést, tudomásul veszi, hogy az API-alakzat vagy a funkciók megváltozhatnak a következő fő kiadásban. Előfordulhat, hogy az API el is lesz távolítva. A figyelmeztetést egy projektbeállítással <NoWarn> (ajánlott) vagy egy #pragma kódban szereplő irányelvvel tilthatja le.

A projektfájl figyelmeztetéseinek mellőzése:

<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>

A kódban lévő figyelmeztetések mellőzése:

// 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

Lásd még