Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Voeg deze kenmerken toe aan uw code voor de compiler om een opgegeven IL-wijzigingsfunctie (Intermediate Language) te verzenden. Deze kenmerken geven de compiler de instructie om de bijbehorende IL-modifier op te nemen in de uitvoer.
De C#-taalreferentiedocumenten de laatst uitgebrachte versie van de C#-taal. Het bevat ook de eerste documentatie voor functies in openbare previews voor de aanstaande taalrelease.
De documentatie identificeert alle functies die voor het eerst zijn geïntroduceerd in de laatste drie versies van de taal of in de huidige openbare previews.
Aanbeveling
Raadpleeg het artikel over de versiegeschiedenis van de C#-taal om te achterhalen wanneer een functie voor het eerst is geïntroduceerd in C#.
| Attribuut | Modifier | Opmerkingen |
|---|---|---|
| System.Runtime.InteropServices.ComImportAttribute | import |
|
| System.Runtime.InteropServices.DllImportAttribute | pinvokeimpl |
U kunt opties toevoegen die worden vermeld in de constructor. |
| System.Runtime.InteropServices.FieldOffsetAttribute | .field |
Hiermee stelt u de veldverschuiving voor de geheugenindeling in. |
| MarshalAsAttribute | marshal |
U kunt in de constructor vermelde opties instellen. |
| System.Runtime.CompilerServices.MethodImplAttribute | flag |
Constructorargumenten geven specifieke benoemde vlaggen op, zoals aggressiveinlining of forwardref. Deze vlaggen geven ook de native, managedof optil modifiers voor het System.Runtime.CompilerServices.MethodCodeType veld op. |
| System.NonSerializedAttribute | notserialized |
|
| System.Runtime.InteropServices.OptionalAttribute | [opt] |
|
| System.Runtime.InteropServices.PreserveSigAttribute | preservesig |
|
| System.SerializableAttribute | serializable |
|
| System.Runtime.InteropServices.StructLayoutAttribute |
auto, sequentialof explicit |
Indelingsopties kunnen worden ingesteld met behulp van de parameters. |
| System.Runtime.CompilerServices.IndexerNameAttribute | Voeg dit kenmerk toe aan een indexeerfunctie om een andere methodenaam in te stellen. Indexeerfuncties worden standaard gecompileerd naar een eigenschap met de naam Item. U kunt een andere naam opgeven met dit kenmerk. |
Belangrijk
De [StructLayoutAttribute] kan niet worden gecombineerd met het ExtendedLayout kenmerk.
Sommige van deze aangepaste kenmerken worden toegepast met behulp van andere C#-syntaxis in plaats van het kenmerk toe te voegen aan uw broncode.
| Attribuut | Opmerkingen |
|---|---|
| System.Runtime.InteropServices.DefaultParameterValueAttribute | Hiermee geeft u de standaardwaarde voor de parameter. Gebruik de standaardparametersyntaxis. |
| System.Runtime.InteropServices.InAttribute | Specificeert de IL [in]-modificator. Gebruik de in of ref readonly modifiers. |
| System.Runtime.InteropServices.OutAttribute | Specificeert de IL [out]-modificator. Gebruik de out modifier. |
| System.Runtime.CompilerServices.SpecialNameAttribute | Specificeert de IL specialname-modificator. De compiler voegt deze wijzigingsfunctie automatisch toe voor methoden die dit vereisen. |
| System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute | Dit kenmerk is vereist voor de delegate*-functie. De compiler voegt deze toe aan alle delegate* waarvoor het gebruik is vereist. U moet dit kenmerk echter toevoegen aan een methodedeclaratie wanneer deze methode wordt toegewezen aan een functieaanwijzer. |
De volgende kenmerken zijn over het algemeen niet toegestaan in de C#-bron. Ze worden hier vermeld om auteurs van bibliotheken te helpen die reflectie gebruiken en ervoor te zorgen dat u geen aangepaste attributen met dezelfde volledig gekwalificeerde naam maakt.
| Attribuut | Opmerkingen |
|---|---|
| System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute | Hiermee voorkomt u dat downlevel compilers metagegevens gebruiken die ze niet veilig kunnen begrijpen. |
| System.Runtime.CompilerServices.DecimalConstantAttribute | Codeert const decimal velden. De runtime biedt geen ondersteuning voor decimal waarden als constante waarden. |
| System.Reflection.DefaultMemberAttribute | Codeert indexeerfuncties met System.Runtime.CompilerServices.IndexerNameAttribute. Dit kenmerk noteert de standaardindexeerfunctie wanneer de naam anders is dan Item. Dit kenmerk is toegestaan in de bron. |
| System.Runtime.CompilerServices.DynamicAttribute | Codeert of een type in een handtekening dynamic is (versus object). |
| System.Runtime.CompilerServices.ExtensionAttribute | Met dit kenmerk worden uitbreidingsmethoden beschreven. De compiler plaatst dit kenmerk ook op de bevatde klassen. |
| System.Runtime.CompilerServices.FixedBufferAttribute | Met dit kenmerk worden fixed structvelden opgegeven. |
| System.Runtime.CompilerServices.IsByRefLikeAttribute | Dit kenmerk specificeert een ref-struct. |
| System.Runtime.CompilerServices.IsReadOnlyAttribute | Dit kenmerk geeft aan dat een parameter de in modifier heeft. Het onderscheidt in parameters van readonly ref of [In] ref. |
| System.Runtime.CompilerServices.RequiresLocationAttribute | Dit kenmerk geeft aan dat een parameter de readonly ref modifier heeft. Het onderscheidt readonly ref van in of [In] ref. |
| System.Runtime.CompilerServices.IsUnmanagedAttribute | Met dit kenmerk wordt de unmanaged beperking voor een typeparameter opgegeven. |
| System.Runtime.CompilerServices.NullableAttribute, , System.Runtime.CompilerServices.NullableContextAttributeSystem.Runtime.CompilerServices.NullablePublicOnlyAttribute | Met deze kenmerken worden null-aantekeningen in uw broncode gecodeerd. |
| System.ParamArrayAttribute | Dit kenmerk codeert de params modifier voor matrixparameters. |
| System.Runtime.CompilerServices.ParamCollectionAttribute | Dit kenmerk codeert de params modifier voor niet-matrixparameters. |
| System.Runtime.CompilerServices.RefSafetyRulesAttribute | Dit kenmerk geeft de C#-versie op die vereist is om inzicht te krijgen in veiligheidsaantekeningen voor ref in de assembly. Referentie-veiligheidsregels evolueren naarmate C# nieuwe functies krijgt. |
| System.Runtime.CompilerServices.RequiredMemberAttribute | Dit kenmerk geeft aan dat de required-modificator is toegepast op een liddeclaratie. Het is de codering van de vereiste leden taalfunctie. |
| System.Runtime.CompilerServices.TupleElementNamesAttribute | Dit kenmerk codeert de namen van tuple-elementen die worden gebruikt in handtekeningen. |
Daarnaast kan de compiler een declaratie genereren voor andere kenmerken die intern worden gebruikt. De compiler genereert deze kenmerken in de System.Runtime.CompilerServices naamruimte voor eigen gebruik. Sommige zijn niet in de .NET Runtime-bibliotheken. In plaats daarvan maakt de compiler een definitie voor een internal typedeclaratie in elke assembly waar het kenmerk nodig is.