Z początku istnienia rodzaju dynamic
i DLR w .NET 4, teraz mam 3 opcje podczas deklarowania, co nazywam "otwarte" typy:Dynamiczny, Object, Var
var
, lokalnie ukryte rodzajów, aby podkreślić 'co', a nie 'jak',object
, aliasSystem.Object
idynamic
, wyłącz kontrole kompilatora, dodając metody/właściwości w czasie wykonywania
Podczas gdy o nich jest dużo napisanych, nic, co znalazłem nie łączy ich ze sobą, i muszę przyznać, że to wciąż trochę niewyraźne.
Dodaj do tego LINQ, wyrażenia lambda, typy anonimowe, odbicie ... i robi się coraz bardziej chwiejny.
Chciałbym zobaczyć przykłady, być może kontrastujące zalety/wady, aby pomóc mi ugruntować moje zrozumienie tych koncepcji, a także pomóc mi zrozumieć, kiedy, gdzie i jak powinienem wybrać między nimi.
Dziękujemy!
To nie jest przykładem typu anonimowego (chyba 'name' jest jego własny anonimowy typ, co nie wydaje mi się możliwe). –
@George, tak, naprawione. Nie wiem, dlaczego tak to napisałem. – svick