Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Начиная с .NET 9, некоторые функции используются ExperimentalAttribute для указания того, что форма или функциональность API включены в выпуск, но еще не поддерживаются официально. Экспериментальные функции позволяют команде .NET собирать отзывы о форме и функциональности API с целью уточнения API и удаления атрибута [Experimental] в следующем крупном выпуске.
Когда код ссылается на экспериментальный API, компилятор создает ошибку с идентификатором, например SYSLIB5XXX. Каждая функция, помеченная как экспериментальная, имеет уникальный идентификатор диагностики. Чтобы выразить согласие на использование экспериментальной функции, вы подавляете определенную диагностику. Это можно сделать с помощью любого из средств подавления диагностика, но рекомендуется добавить диагностику в свойство проекта<NoWarn>. Дополнительные сведения см. в разделе Отключение предупреждений.
Так как каждая экспериментальная функция имеет отдельный идентификатор, согласие на использование одной экспериментальной функции не дает согласия на использование другого.
Справочные материалы
В следующей таблице представлен индекс SYSLIB5XXX экспериментальных API в .NET 9+.
| ИД диагностики | Введенный | Описание |
|---|---|---|
| SYSLIB5001 | .NET 9 | Tensor<T> и связанные API в System.Numerics.Tensors них являются экспериментальными |
| SYSLIB5002 | .NET 9 | SystemColors альтернативные цвета являются экспериментальными |
| SYSLIB5003 | .NET 9 | Sve экспериментальный |
| SYSLIB5004 | .NET 9 |
DivRem(UInt32, Int32, Int32) является экспериментальным, так как производительность не так оптимизирована, как T.DivRem |
| SYSLIB5005 | .NET 9 | System.Formats.Nrbf экспериментальный |
| SYSLIB5006 | .NET 10 | Типы для криптографии после квантовых вычислений (PQC) являются экспериментальными. |
Отключение предупреждений
Использование экспериментальной функции дает возможность отправлять отзывы о форме и функциональности API, прежде чем эта функция помечена как стабильная и полностью поддерживаемая. Но использование функции создает предупреждение от компилятора. При подавлении предупреждения вы признаете, что форма или функциональность API могут измениться в следующем основном выпуске. API может быть удален даже. Предупреждение можно отключить с помощью <NoWarn> параметра проекта (рекомендуется) или директивы в коде #pragma .
Чтобы отключить предупреждения в файле проекта:
<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>
Чтобы отключить предупреждения в коде:
// 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