Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Definicja języka C# wymaga, aby biblioteka standardowa posiadała określone typy oraz pewne dostępne elementy tych typów. Kompilator generuje kod, który używa tych wymaganych typów i elementów członkowskich dla wielu różnych funkcji językowych. Z tego powodu wersje języka C# są obsługiwane tylko dla odpowiedniej wersji platformy .NET i nowszych. Zapewnia to prawidłowe działanie w czasie wykonywania i dostępność wszystkich wymaganych typów i członów.
Ta zależność od standardowej funkcjonalności biblioteki była częścią języka C# od jej pierwszej wersji. W tej wersji uwzględniono przykłady:
- Exception — używane dla wszystkich wyjątków generowanych przez kompilator.
-
String - synonim
string
. -
Int32 - synonim
int
.
Pierwsza wersja była prosta: kompilator i biblioteka standardowa dostarczane razem, a każda z nich była tylko jedna.
Kolejne wersje języka C# okazjonalnie dodały nowe typy lub członkowskie elementy do zależności. Przykłady obejmują: INotifyCompletion, CallerFilePathAttributei CallerMemberNameAttribute. C# 7.0 wprowadził zależność od ValueTuple do implementacji cechy języka krotki. Język C# 8, oprócz innych funkcji, wymaga System.Index i System.Range do zakresów i indeksów. Każda nowa wersja może dodać dodatkowe wymagania.
Zespół projektowy języka pracuje, aby zminimalizować obszar powierzchni typów i elementów członkowskich wymaganych w zgodnej standardowej bibliotece. Ten cel jest równoważony przejrzystym projektem, w którym nowe funkcje biblioteki są płynnie włączane do języka. W przyszłych wersjach języka C# pojawią się nowe funkcje, które będą wymagały nowych typów i elementów w standardowej bibliotece. Narzędzia kompilatora języka C# są teraz oddzielone od cyklu wydawania bibliotek platformy .NET na obsługiwanych platformach.