Os “enumeradores” são bastante úteis aos desenvolvedores, evitando uma checagem do tipo string (coisa como if(tipo == “TEXT”)) , sucetível a erros e sem nenhum formalismo semantico nas nossas classes. Mais sobre a utilização avançada de enumeradores ver neste bom post, ou sobre como popular combobox com enumeradores aqui.
O Linq to Sql por sua vez suporta o uso de enumeradores de forma simples, como descrito abaixo:
public enum ItemType
{
Text = 0,
Image = 1
}
[Table]
public class Item {
private ItemType _type;
[Column]
public ItemType Type
{
get { return _type;}
set { _type = value;}
}
}
Vantágens:
- Ao construirmos o objeto do tipo “Item” setamos suas propriedades que pro caso do “Type” será sempre consistente com o enum definido na aplicação;
- O linq to Sql automáticamente trará os objetos do tipo “Item” com seus enumeradores “Type” setados;
Observações
- O enum é Value Type;
- Os enumeradores podem ainda suportar os tipos (byte / Byte, sbyte / SByte, short / Short, ushort / UShort, int / Integer, uint / UInteger, long Long, ulong / ULong). Entretanto, não suporta String assim não teremos no banco Flags descritivas como “TXT” ou “IMG”, mas 0,1;
0 comentários:
Postar um comentário