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.
Jegyzet
Ez a cikk egy funkcióspecifikáció. A specifikáció a funkció tervezési dokumentumaként szolgál. Tartalmazza a specifikáció javasolt módosításait, valamint a funkció tervezése és fejlesztése során szükséges információkat. Ezeket a cikkeket mindaddig közzéteszik, amíg a javasolt specifikációmódosításokat nem véglegesítik, és be nem építik a jelenlegi ECMA-specifikációba.
A szolgáltatás specifikációja és a befejezett implementáció között eltérések lehetnek. Ezeket a különbségeket a vonatkozó nyelvi tervezési értekezlet (LDM) megjegyzései rögzítik.
A funkcióspektusok C# nyelvi szabványba való bevezetésének folyamatáról a specifikációkcímű cikkben olvashat bővebben.
Bajnoki probléma: https://github.com/dotnet/csharplang/issues/1888
Attribútumok
A helyi függvény deklarációi mostantól rendelkeznek attribútumokkal (§22). A helyi függvények paraméterei és típusparaméterei attribútumokkal is rendelkezhetnek.
A metódusokra, a paraméterekre vagy a típusparaméterekre alkalmazott, meghatározott jelentésű attribútumok ugyanazt a jelentést kapják, amikor egy helyi függvényre, annak paramétereire vagy típusparaméterére vonatkoznak.
A helyi függvényt ugyanolyan értelemben feltételessé lehet tenni, mint egy feltételes módszert (§22.5.3), egy [ConditionalAttribute]dekorálásával. A feltételes helyi függvénynek is statickell lennie. A feltételes metódusokra vonatkozó összes korlátozás a feltételes helyi függvényekre is vonatkozik, beleértve azt is, hogy a visszatérési típusnak voidkell lennie.
Külső
A extern módosító mostantól engedélyezve van a helyi függvényeken. Ez a helyi függvényt a külső metóduséval azonos értelemben teszi külsővé (§15.6.8).
A külső módszerhez hasonlóan a külső helyi függvény helyi függvénytörzsének pontosvesszővel kell végződnie. A helyi függvénytörzs pontosvesszővel
A külső helyi függvénynek is statickell lennie.
Szintaxis
A §13.6.4, vagy a helyi függvények nyelvtana a következőképpen módosul:
local-function-header
: attributes? local-function-modifiers? return-type identifier type-parameter-list?
( formal-parameter-list? ) type-parameter-constraints-clauses
;
local-function-modifiers
: (async | unsafe | static | extern)*
;
local-function-body
: block
| arrow-expression-body
| ';'
;
C# feature specifications