Typ anonimowy - Anonymous type
Typy anonimowe to funkcja języka C # 3.0, Visual Basic .NET 9.0 , Oxygene , Scala i Go, która umożliwia typom danych hermetyzację zestawu właściwości w jednym obiekcie bez konieczności uprzedniego jawnego definiowania typu. Jest to ważna funkcja dla funkcji LINQ podobnej do SQL , która jest zintegrowana z C # i VB.net. Ponieważ typy anonimowe nie mają nazwanego typu, muszą być przechowywane w zmiennych zadeklarowanych przy użyciu słowa kluczowego, informując kompilator C #, aby używał wnioskowania o typie dla zmiennej. Utworzone właściwości są tylko do odczytu w C #, jednak są do odczytu i zapisu w VB.net.
var
Tej funkcji nie należy mylić z dynamicznym pisaniem . Chociaż typy anonimowe pozwalają programistom definiować pola pozornie „w locie”, nadal są to jednostki statyczne. Sprawdzanie typu jest wykonywane w czasie kompilacji, a próba uzyskania dostępu do nieistniejącego pola spowoduje błąd kompilatora. Daje to programistom dużą wygodę, jaką daje język dynamiczny, z bezpieczeństwem typów, jakie zapewnia język statyczny .
Przykłady
DO#
var person = new { firstName = "John", lastName = "Smith" };
Console.WriteLine(person.lastName);
Wynik: Kowal
Iść
var person struct { firstName string; lastName string }
person.firstName="John"
person.lastName="Smith"
OCaml
let person = object val firstName = "John" val lastName = "Smith" end;;
Oxygene
var person := new class(firstName := 'John', lastName := 'Smith');
PHP
$person = new class
{
public $firstName = "John";
public $lastName = "Smith";
};
Scala
val person = new { val firstName = "John"; val lastName = "Smith" }
Visual Basic .NET
Dim person = New With {.firstName = "John", .lastName = "Smith"}
Zobacz też
Bibliografia
Zewnętrzne linki
- Prezentacja udoskonaleń języka C # 3.0
- Typy anonimowe w Visual Basic 2008 - poznaj nowe funkcje w Visual Basic 2008.