Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Přidejte tyto atributy do kódu kompilátoru pro generování zadaného modifikátoru jazyka IL (Intermediate Language). Tyto atributy dávají kompilátoru pokyn, aby do výstupu zahrnul odpovídající modifikátor IL.
Referenční dokumentace jazyka C# dokumentuje naposledy vydané verze jazyka C#. Obsahuje také počáteční dokumentaci k funkcím ve verzi Public Preview pro nadcházející jazykovou verzi.
Dokumentace identifikuje všechny funkce, které byly poprvé představeny v posledních třech verzích jazyka nebo v aktuálních verzích Public Preview.
Návod
Informace o tom, kdy byla funkce poprvé představena v jazyce C#, najdete v článku o historii verzí jazyka C#.
| Atribut | Modifikátor | Komentáře |
|---|---|---|
| System.Runtime.InteropServices.ComImportAttribute | import |
|
| System.Runtime.InteropServices.DllImportAttribute | pinvokeimpl |
Můžete přidat možnosti uvedené v konstruktoru. |
| System.Runtime.InteropServices.FieldOffsetAttribute | .field |
Tím se nastaví offset pole pro rozložení paměti. |
| MarshalAsAttribute | marshal |
Můžete nastavit možnosti uvedené v konstruktoru. |
| System.Runtime.CompilerServices.MethodImplAttribute | flag |
Argumenty konstruktoru určují konkrétní pojmenované značky, jako jsou aggressiveinlining nebo forwardref. Tyto příznaky také určují modifikátory native, managednebo optil pro pole System.Runtime.CompilerServices.MethodCodeType. |
| System.NonSerializedAttribute | notserialized |
|
| System.Runtime.InteropServices.OptionalAttribute | [opt] |
|
| System.Runtime.InteropServices.PreserveSigAttribute | preservesig |
|
| System.SerializableAttribute | serializable |
|
| System.Runtime.InteropServices.StructLayoutAttribute |
auto, sequentialnebo explicit |
Možnosti rozložení lze nastavit pomocí parametrů. |
| System.Runtime.CompilerServices.IndexerNameAttribute | Přidáním tohoto atributu do indexeru nastavte jiný název metody. Ve výchozím nastavení jsou indexery kompilovány do vlastnosti s názvem Item. Pomocí tohoto atributu můžete zadat jiný název. |
Důležité
[StructLayoutAttribute] nelze kombinovat s atributem ExtendedLayout .
Některé z těchto vlastních atributů se použijí pomocí jiné syntaxe jazyka C#, nikoli přidáním atributu do zdrojového kódu.
| Atribut | Komentáře |
|---|---|
| System.Runtime.InteropServices.DefaultParameterValueAttribute | Určuje výchozí hodnotu parametru. Použijte výchozí syntaxi parametru . |
| System.Runtime.InteropServices.InAttribute | Specifikuje modifikátor IL [in]. Použijte modifikátory in nebo ref readonly. |
| System.Runtime.InteropServices.OutAttribute | Specifikuje modifikátor IL [out]. Použijte modifikátor out. |
| System.Runtime.CompilerServices.SpecialNameAttribute | Specifikuje modifikátor IL specialname. Kompilátor tento modifikátor automaticky přidá pro metody, které ho vyžadují. |
| System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute | Tento atribut je vyžadován pro funkci delegate*. Kompilátor ho přidá do kteréhokoli delegate*, který vyžaduje jeho použití. Tento atribut však musíte přidat k jakékoli deklaraci metody, pokud je tato metoda přiřazena funkčnímu ukazateli. |
Následující atributy jsou obecně zakázány ve zdroji jazyka C#. Jsou tu uvedené, aby pomohly autorům knihoven, kteří používají reflexi, a zajistily, že nevytváříte vlastní atributy se stejným plně kvalifikovaným názvem.
| Atribut | Komentáře |
|---|---|
| System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute | Zabraňuje kompilátorům nižší úrovně používat metadata, která nemohou bezpečně pochopit. |
| System.Runtime.CompilerServices.DecimalConstantAttribute | Kóduje pole const decimal. Modul runtime nepodporuje decimal hodnoty jako konstantní hodnoty. |
| System.Reflection.DefaultMemberAttribute | Kóduje indexery pomocí System.Runtime.CompilerServices.IndexerNameAttribute. Tento atribut označuje výchozí indexer, pokud se jeho název liší od Item. Tento atribut je ve zdroji povolený. |
| System.Runtime.CompilerServices.DynamicAttribute | Kóduje, zda je typ v podpisu dynamic (versus object). |
| System.Runtime.CompilerServices.ExtensionAttribute | Tento atribut označuje rozšiřující metody. Kompilátor také umístí tento atribut na obsahující třídy. |
| System.Runtime.CompilerServices.FixedBufferAttribute | Tento atribut určuje pole struktury fixed. |
| System.Runtime.CompilerServices.IsByRefLikeAttribute | Tento atribut určuje ref strukturu. |
| System.Runtime.CompilerServices.IsReadOnlyAttribute | Tento atribut označuje, že parametr má modifikátor in. Rozlišuje parametry in od readonly ref nebo [In] ref. |
| System.Runtime.CompilerServices.RequiresLocationAttribute | Tento atribut označuje, že parametr má modifikátor readonly ref. Rozlišuje readonly ref od in nebo [In] ref. |
| System.Runtime.CompilerServices.IsUnmanagedAttribute | Tento atribut určuje omezení unmanaged parametru typu. |
| System.Runtime.CompilerServices.NullableAttribute, , System.Runtime.CompilerServices.NullableContextAttributeSystem.Runtime.CompilerServices.NullablePublicOnlyAttribute | Tyto atributy kódují poznámky s možnou hodnotou null ve zdrojovém kódu. |
| System.ParamArrayAttribute | Tento atribut kóduje modifikátor params u parametrů pole. |
| System.Runtime.CompilerServices.ParamCollectionAttribute | Tento atribut kóduje modifikátor params pro parametry, které nejsou polem. |
| System.Runtime.CompilerServices.RefSafetyRulesAttribute | Tento atribut určuje verzi jazyka C#, která je nutná k pochopení bezpečnostních poznámek ref v sestavení. Pravidla bezpečnosti ref se vyvíjejí, protože jazyk C# získává nové funkce. |
| System.Runtime.CompilerServices.RequiredMemberAttribute | Tento atribut označuje, že modifikátor required byl umístěn na deklaraci členu. Je to kódování požadovaných členů jazykového prvku. |
| System.Runtime.CompilerServices.TupleElementNamesAttribute | Tento atribut kóduje názvy prvků n-tice používané v podpisech. |
Kromě toho může kompilátor vygenerovat deklaraci pro jiné atributy používané interně. Kompilátor vygeneruje tyto atributy v oboru názvů System.Runtime.CompilerServices pro vlastní použití. Některé nejsou v knihovnách .NET Runtime. Místo toho kompilátor syntetizuje definici pro deklaraci typu internal v libovolném sestavení, kde je atribut potřebný.