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