C# Anonymous types (tipos anônimos)

No meu último post,eu falei sobre a palavra–chave var,se você ainda não o leu,recomendo que o faça agora.

Assumindo que você tenha entendido o que é “var” – vamos em frente!

No c# 2.0,vamos dizer que você quisesse representar uma pessoa,você provavelmente criaria uma classe como esta:

public class Person
{
string hairColor ;
string skinColor ;
int teethCount ;
} ….

Aí entra os tipos anônimos.Agora você pode representar esta mesma classe,sem ter que criar sua estrutura primeiro.Assim:

var monster = new {cabelo=”black”, pele=”green”,dentes=64} ;

A linha de código acima irá funcionar mesmo se você não declarar a classe chamada Person.Isso permite você criar estruturas de dados sem ter que declara-las previamente.

O código acima gera uma classe por trás das cenas que você não vê,assim:

class __Anonymous1
{
private string _cabelo = “black”;
private string _pele = “green”;
private int _dentes   = 64;

public string cabelo {get { return _cabelo; } set { _cabelo = value; }}
public string pele {get { return _pele; } set { _pele = value; }}
public int dentes {get { return _dentes; } set { _dentes = value; }}
}

Por essa classe ser um tipo anonimo ela não possui nome quando é gerada pelo compilador c#,é um “System.Type”.

É isso, até a próxima.