Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Adja hozzá ezeket az attribútumokat a fordító kódjához, hogy kibocsátson egy megadott köztes nyelv (IL) módosítót. Ezek az attribútumok arra utasítják a fordítót, hogy foglalja bele a megfelelő IL-módosítót a kimenetbe.
A C# nyelv referenciadokumentuma a C# nyelv legújabb kiadású verzióját ismerteti. Emellett a közelgő nyelvi kiadás nyilvános előzetes verziójú funkcióinak kezdeti dokumentációját is tartalmazza.
A dokumentáció azonosítja azokat a funkciókat, amelyeket először a nyelv utolsó három verziójában vagy az aktuális nyilvános előzetes verziókban vezetnek be.
Jótanács
Ha meg szeretné tudni, hogy mikor jelent meg először egy funkció a C#-ban, tekintse meg a C# nyelvi verzióelőzményeiről szóló cikket.
| Attribútum | Módosító | Megjegyzések |
|---|---|---|
| System.Runtime.InteropServices.ComImportAttribute | import |
|
| System.Runtime.InteropServices.DllImportAttribute | pinvokeimpl |
A konstruktorban felsorolt beállításokat is hozzáadhatja. |
| System.Runtime.InteropServices.FieldOffsetAttribute | .field |
Ezzel beállítja a memóriaelrendezés mezőeltolását. |
| MarshalAsAttribute | marshal |
A konstruktorban felsorolt beállításokat megadhatja. |
| System.Runtime.CompilerServices.MethodImplAttribute | flag |
A konstruktor argumentumai meghatározott elnevezett jelzőket határoznak meg, például aggressiveinlining vagy forwardref. Ezek a jelzők a native mező managed, optilvagy System.Runtime.CompilerServices.MethodCodeType módosítóit is megadják. |
| System.NonSerializedAttribute | notserialized |
|
| System.Runtime.InteropServices.OptionalAttribute | [opt] |
|
| System.Runtime.InteropServices.PreserveSigAttribute | preservesig |
|
| System.SerializableAttribute | serializable |
|
| System.Runtime.InteropServices.StructLayoutAttribute |
auto, sequentialvagy explicit |
Az elrendezési beállítások a paraméterek használatával állíthatók be. |
| System.Runtime.CompilerServices.IndexerNameAttribute | Adja hozzá ezt az attribútumot egy indexelőhöz egy másik metódusnév beállításához. Alapértelmezés szerint az indexelők egy Itemnevű tulajdonságra vannak lefordítva. Ezzel az attribútummal más nevet is megadhat. |
Fontos
A [StructLayoutAttribute] nem kombinálható az ExtendedLayout attribútummal.
Ezen egyéni attribútumok némelyikét más C#-szintaxissal alkalmazza a rendszer ahelyett, hogy hozzáadja az attribútumot a forráskódhoz.
| Attribútum | Megjegyzések |
|---|---|
| System.Runtime.InteropServices.DefaultParameterValueAttribute | A paraméter alapértelmezett értékét adja meg. Használja a paraméter alapértelmezett szintaxisát. |
| System.Runtime.InteropServices.InAttribute | Az IL [in] módosítót adja meg. Használja a in vagy ref readonly módosítókat. |
| System.Runtime.InteropServices.OutAttribute | Az IL [out] módosítót adja meg. Használja a out módosító elemet. |
| System.Runtime.CompilerServices.SpecialNameAttribute | Az IL specialname módosítót adja meg. A fordító automatikusan hozzáadja ezt a módosítót a szükséges metódusokhoz. |
| System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute | Ez az attribútum szükséges a delegate* funkcióhoz. A fordító hozzáadja azt minden olyan delegate*-hoz, amelyhez szükséges a használata. Ezt az attribútumot azonban minden metódusdeklarációhoz hozzá kell adni, ha a metódus egy függvénymutatóhoz van rendelve. |
A C#-forrásban a következő attribútumok általában nem engedélyezettek. Az itt felsoroltak segítséget biztosítanak a tükrözést használó kódtár-szerzőknek, és biztosítják, hogy ne hozzon létre egyéni attribútumokat ugyanazzal a teljes névvel.
| Attribútum | Megjegyzések |
|---|---|
| System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute | Megakadályozza, hogy az alsó szintű fordítók olyan metaadatokat használjanak, amelyek nem értelmezhetők biztonságosan. |
| System.Runtime.CompilerServices.DecimalConstantAttribute | Kódolja const decimal mezőket. A futtatókörnyezet nem támogatja decimal értékeket állandó értékekként. |
| System.Reflection.DefaultMemberAttribute | Indexelőket kódol System.Runtime.CompilerServices.IndexerNameAttribute. Ez az attribútum jelöli az alapértelmezett indexelőt, amennyiben a neve eltér a Item-től. Ez az attribútum engedélyezett a forrásban. |
| System.Runtime.CompilerServices.DynamicAttribute | Kódolja, hogy egy aláírás típusa dynamic-e (szemben a object). |
| System.Runtime.CompilerServices.ExtensionAttribute | Ez az attribútum megjegyzi a bővítmény metódusait. A fordító ezt az attribútumot a tartalmazó osztályokra is elhelyezi. |
| System.Runtime.CompilerServices.FixedBufferAttribute | Ez az attribútum fixed strukturált mezőket határozza meg. |
| System.Runtime.CompilerServices.IsByRefLikeAttribute | Ez az attribútum egy ref szerkezetet határoz meg. |
| System.Runtime.CompilerServices.IsReadOnlyAttribute | Ez az attribútum azt jelzi, hogy egy paraméter rendelkezik a in módosítóval. Megkülönbözteti a in paramétereket a readonly ref vagy [In] refparaméterektől. |
| System.Runtime.CompilerServices.RequiresLocationAttribute | Ez az attribútum azt jelzi, hogy egy paraméter rendelkezik a readonly ref módosítóval. Megkülönbözteti a readonly ref-at a in-től vagy a [In] ref-től. |
| System.Runtime.CompilerServices.IsUnmanagedAttribute | Ez az attribútum egy típusparaméter unmanaged korlátozását határozza meg. |
| \ |
Ezek az attribútumok null értékű széljegyzeteket kódolnak a forráskódban. |
| System.ParamArrayAttribute | Ez az attribútum tömbparamétereken kódolja a params módosítóját. |
| System.Runtime.CompilerServices.ParamCollectionAttribute | Ez az attribútum nem tömbparamétereken kódolja a params módosítóját. |
| System.Runtime.CompilerServices.RefSafetyRulesAttribute | Ez az attribútum a szerelvény ref biztonsági megjegyzéseinek megértéséhez szükséges C# verziót adja meg. A ref biztonsági szabályok úgy fejlődnek, hogy a C# új funkciókat kap. |
| System.Runtime.CompilerServices.RequiredMemberAttribute | Ez az attribútum azt jelzi, hogy a required módosító tagdeklarációra lett helyezve. Ez a szükséges tagoknak a nyelvi funkció szerinti kódolása. |
| System.Runtime.CompilerServices.TupleElementNamesAttribute | Ez az attribútum kódolja az aláírásokban használt tupelemek nevét. |
A fordító emellett deklarációt is létrehozhat a belsőleg használt egyéb attribútumokhoz. A fordító saját használatra létrehozza ezeket az attribútumokat a System.Runtime.CompilerServices névtérben. Néhány nem szerepel a .NET futtatókörnyezeti kódtárakban. A fordító ehelyett egy internal típusú deklaráció definícióját szintetizálja minden olyan szerelvényben, ahol az attribútumra szükség van.