Co to jest pisanie dynamiczne
Typowanie dynamiczne umożliwia przypisywanie różnych typów wartości do tej samej zmiennej w czasie wykonywania. W przeciwieństwie do typowania statycznego, w którym typ zmiennej jest określany w czasie kompilacji i pozostaje stały, typowanie dynamiczne zapewnia elastyczność dzięki określaniu typu w czasie wykonywania na podstawie przypisanej wartości. Eliminuje sprawdzanie typu w czasie kompilacji, odkładając je do środowiska wykonawczego.
Podczas typowania dynamicznego sprawdzanie typu nie jest wykonywane przez kompilator podczas kompilacji. Zamiast tego typ zmiennej jest określany w czasie wykonywania na podstawie przypisanej wartości. Pozwala to na późne wiązanie, w którym wywołania metod i dostęp do elementów członkowskich są rozwiązywane dynamicznie na podstawie rzeczywistego typu obiektu.
Jak używać typu dynamicznego w C#
Aby użyć typu dynamicznego w języku C#, wystarczy zadeklarować zmienną za pomocą słowa kluczowego dynamic. Na przykład:
dynamiczna moja zmienna = 'Witaj świecie!' ;
W tym przykładzie myVariable jest zadeklarowana jako zmienna dynamiczna i ma przypisaną wartość „Hello, World!”. W czasie wykonywania typ myVariable zostanie określony jako ciąg znaków.
Przykład użycia typu dynamicznego w C#
Ten kod demonstruje użycie dynamicznego słowa kluczowego w języku C#:
przy użyciu Systemu ;
program klasy publicznej
{
publiczny statyczny próżnia Główny ( )
{
dynamiczna mojaZmiennaDynamiczna = 42 ;
Konsola. Linia zapisu ( „Wartość: {0}, typ: {1}” , mojaZmiennaDynamiczna , mojaZmiennaDynamiczna. Pobierz typ ( ) ) ;
mojaZmiennaDynamiczna = 'Witaj świecie!' ;
Konsola. Linia zapisu ( „Wartość: {0}, typ: {1}” , mojaZmiennaDynamiczna , mojaZmiennaDynamiczna. Pobierz typ ( ) ) ;
mojaZmiennaDynamiczna = FAŁSZ ;
Konsola. Linia zapisu ( „Wartość: {0}, typ: {1}” , mojaZmiennaDynamiczna , mojaZmiennaDynamiczna. Pobierz typ ( ) ) ;
mojaZmiennaDynamiczna = DataGodzina. Teraz ;
Konsola. Linia zapisu ( „Wartość: {0}, typ: {1}” , mojaZmiennaDynamiczna , mojaZmiennaDynamiczna. Pobierz typ ( ) ) ;
Moja funkcja niestandardowa ( mojaZmiennaDynamiczna ) ;
}
publiczny statyczny próżnia Moja funkcja niestandardowa ( dane dynamiczne )
{
Konsola. Linia zapisu ( „Wyjście funkcji niestandardowej: {0}” , dane ) ;
}
}
Słowo kluczowe dynamic umożliwia dynamiczne wpisywanie zmiennej, co oznacza, że jej typ może się zmieniać w czasie wykonywania. W kodzie zmienna o nazwie mojaZmiennaDynamiczna jest zadeklarowany jako dynamiczny i początkowo ma przypisaną wartość całkowitą równą 42. Następnie jest drukowany wraz ze swoim typem przy użyciu Console.WriteLine.
Następnie zmiennej myDynamicVariable przypisywana jest wartość ciągu („Hello World!”) i ponownie drukowana z jej typem. Ten sam proces jest powtarzany dla wartości logicznej, a na końcu dla bieżącej daty i godziny uzyskanych za pomocą funkcji DateTime.Now.
Kod zawiera również funkcję MyCustomFunction, która pobiera dane parametrów dynamicznych i drukuje je. Funkcja myDynamicVariable jest nazywana argumentem i pokazuje, że zmienne dynamiczne mogą być przekazywane do funkcji, a ich typ można określić w czasie wykonywania.
Wniosek
Typ dynamiczny w języku C# 4.0 umożliwia deklarowanie zmiennych bez określania ich typu, co jest przydatne podczas pracy z danymi nieznanego typu w czasie wykonywania. Typowanie dynamiczne pozwala kompilatorowi pominąć sprawdzanie typu podczas kompilacji. Zamiast tego typ zmiennej jest określany podczas działania programu na podstawie wartości, którą przechowuje. Przeczytaj więcej o typie dynamicznym w tym artykule.