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.
Definice jazyka C# vyžaduje, aby měla standardní knihovna určité typy a určité přístupné členy těchto typů. Kompilátor generuje kód, který používá tyto požadované typy a členy pro mnoho různých jazykových funkcí. Z tohoto důvodu jsou verze jazyka C# podporovány pouze pro odpovídající verzi .NET a novější. Tím zajistíte správné chování za běhu a dostupnost všech požadovaných typů a členů.
Tato závislost na funkcích standardní knihovny byla od své první verze součástí jazyka C#. V této verzi jsme zahrnuli příklady:
- Exception – používá se pro všechny výjimky generované kompilátorem.
-
String - synonymum
string
. -
Int32 - synonymum
int
.
Tato první verze byla jednoduchá: kompilátor a standardní knihovna se odeslaly dohromady a každá měla pouze jednu verzi.
Další verze jazyka C# občas přidaly do závislostí nové typy nebo členy. Mezi příklady patří: INotifyCompletion, CallerFilePathAttributea CallerMemberNameAttribute. Jazyk C# 7.0 přidal závislost na ValueTuple, aby implementoval jazykovou funkci n-tice. C# 8 vyžaduje System.Index a System.Range pro rozsahy a indexy mimo jiné funkce. Každá nová verze může přidat další požadavky.
Tým pro návrh jazyka pracuje na minimalizaci plochy typů a členů požadovaných v kompatibilní standardní knihovně. Tento cíl je vyvážen proti čistému návrhu, ve kterém se nové funkce knihovny bezproblémově začleňují do jazyka. V budoucích verzích jazyka C# budou k dispozici nové funkce, které vyžadují nové typy a členy ve standardní knihovně. Nástroje kompilátoru jazyka C# jsou teď oddělené od cyklu vydávání knihoven .NET na podporovaných platformách.