Extension Methods são uma grande funcionalidade do C# e eu vou compartilhar alguns que eu mesmo criei ou utilizo no dia a dia para você usar nas suas aplicações. Esse artigo é atualizado periodicamente.
Extension Methods são uma funcionalidade do C# onde é possível acrescentar outros métodos sem esforço a tipos existentes (string, int, objeto) sem precisar criar novas classes e herdar desses tipos. Para usar Extension Methods é necessário referenciar o namespace correspondente através do “using”.
O que tem no código fonte?
- FSLBrowserCapabilitiesExtension – Extensions para verificar a versão do browser;
- FSLCollectionExtension – Extensions para trabalhar com coleções genéricas;
- FSLEnumExtension – Extensions para trabalhar com Enum;
- FSLIsNullExtension – Extensions para verificar se objetos estão nulos, guardar valores default quando nulos e outras funções;
- FSLQueryStringExtension – Extensions para querystring como normalização e segurança na captura dessas querystring;
- FSLSerializationExtension – Extensions para serialização de objetos de/para XML e de/para Json;
- FSLStringExtension – Extensions para string para fazer diversas formatações, conversões e manipulações;
Exemplos de uso dos Extension Methods:
var name = someVariableName.IsNull("fabio"); //if someVariableName is null returns "fabio" var obj = someObject.IsNull(); //if someObject is null returns a new instance of someObject var strEnum = "September".ToEnum<Months>(); //will convert "September" string to Months Enum var qs = Request.QueryString.GetSecure("culture").IsNull("en-US"); //will return the value of querystring "culture" in secure mode. If is null, returns "en-US" as default var xml = someObject.ToXml(); //serializes someObject to XML; var xml = someObject.ToJson(); //serializes someObject to Json; var instance = someList.FirstOrNew(); //return the first item of collection, if there is no item, returns a new instance;
Bom é isso. Esperto que tenha ajudado.
Abaixo encontrará alguns links úteis.
Extension Methods úteis para C# – parte 1
Extension Methods: Perguntas, sugestões ou críticas são bem vindas. Boa sorte!
Faça download completo do código fonte no github. |
Sobre o Autor:
Trabalha como arquiteto de soluções e desenvolvedor, tem mais de 18 anos de experiência em desenvolvimento de software em diversas plataformas sendo mais de 16 anos somente para o mercado de seguros.