Extensions é um recurso muito bom para se usar em orientação a objetos, você estende a uma classe existente adicionando novos métodos com sua regra. Assim você pode por exemplo criar um método que converte String para Int32? e estender para suas strings, ou seja qualquer coisa que retorne uma string terá esse método implementando.
Lisgatem 1: Alguns exemplos de estensao para classe string
public static class ExtensionsString { public static short? ConvertToInt16(this string value) { if (string.IsNullOrEmpty(value)) return null; return Convert.ToInt16(value); } public static Int32? ConvertToInt32(this string value) { if (string.IsNullOrEmpty(value)) return null; return Convert.ToInt32(value); } public static long? ConvertToInt64(this string value) { if (string.IsNullOrEmpty(value)) return null; return Convert.ToInt64(value); } }
Para usar nossa estensão apenas precisamos digitar a chamada.
Listagem 2: Exemplo de uma chamada a uma estensão criada na listagem 1
String Nota = "8"; Int32? ValorInteiroNota = Nota.ConvertToInt32()
Podemos ousar mais e cria Métodos mais rebuscados, que popula uma DropDownList ou outro método mais interessante.
Listagem 3: Métodos mais rebuscados
public static void PopularDDl(this DropDownList ddl, object Lista, string DataTextField, String DataValueField) { ddl.Items.Clear(); ddl.DataTextField = DataTextField; ddl.DataValueField = DataValueField; ddl.DataSource = Lista; ddl.DataBind(); ddl.Items.Insert(0, new ListItem("Selecione...", "")); ddl.SelectedValue.Equals(0); }
Nenhum comentário:
Postar um comentário