SYSLIB-diagnose voor het genereren van regex-bronnen
In de volgende tabel ziet u de diagnostische id's voor regex source generation analyzers in .NET 7 en latere versies. SYSLIB1045
waarschuwt u automatisch voor plaatsen waar u brongeneratie kunt gebruiken om tijdens het compileren de implementatie van de reguliere expressie-engine te genereren. De resterende diagnostische gegevens waarschuwen u voor fouten met betrekking tot het gebruik van de brongenerator.
Diagnostische id | Beschrijving |
---|---|
SYSLIB1040 |
Ongeldig GeneratedRegexAttribute gebruik. |
SYSLIB1041 |
Er zijn meerdere GeneratedRegexAttribute kenmerken toegepast op dezelfde methode, maar er is slechts één toegestaan. |
SYSLIB1042 |
De opgegeven reguliere expressie is ongeldig. |
SYSLIB1043 |
Een GeneratedRegexAttribute methode moet gedeeltelijk, parameterloos, niet-algemeen en niet-abstract zijn en retourneren Regex. |
SYSLIB1044 |
De regex-generator kan geen volledige bron-implementatie genereren voor de opgegeven reguliere expressie vanwege een interne beperking. Zie de uitleg in de gegenereerde bron voor meer informatie. |
SYSLIB1045 |
Gebruik GeneratedRegexAttribute dit om de implementatie van de reguliere expressie tijdens het compileren te genereren. |
Waarschuwingen onderdrukken
Het is raadzaam om waar mogelijk een van de tijdelijke oplossingen te gebruiken. Als u de code echter niet kunt wijzigen, kunt u de waarschuwing onderdrukken via een #pragma
instructie of een <NoWarn>
projectinstelling. Als de SYSLIB1XXX
diagnostische brongenerator niet als fout wordt weergegeven, kunt u de waarschuwing in code of in het projectbestand onderdrukken.
De waarschuwingen in code onderdrukken:
// Disable the warning.
#pragma warning disable SYSLIB1006
// Code that generates compiler diagnostic.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB1006
De waarschuwingen in een projectbestand onderdrukken:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<!-- NoWarn below suppresses SYSLIB1002 project-wide -->
<NoWarn>$(NoWarn);SYSLIB1002</NoWarn>
<!-- To suppress multiple warnings, you can use multiple NoWarn elements -->
<NoWarn>$(NoWarn);SYSLIB1002</NoWarn>
<NoWarn>$(NoWarn);SYSLIB1006</NoWarn>
<!-- Alternatively, you can suppress multiple warnings by using a semicolon-delimited list -->
<NoWarn>$(NoWarn);SYSLIB1002;SYSLIB1006;SYSLIB1007</NoWarn>
</PropertyGroup>
</Project>