Uma vez tive um problema para se criar uma instancia dinamicamente de um tipo generico o problema e que este tipo ele e informado via parametro dentro de um laco ou mesmo em uma assinatura de metodo que nao pode utilizar o generico. uma implementacao pratica disso e a seguinte:Suponhamos que temos uma classe generica repository com o metodo Save. 1: public class Repository<T> where TSource : new() 2: { 3: public void Save(T entity) 4: { ... CODE 5: } 6: } Entao para se utilizar o metodo Salvar(), por exemplo um objeto pessoa faz o seguinte: 1: new Repository<Pessoa>().Save(pessoa)Mas levando para o seguinte cenario, quando este metodo fosse consumido por uma outra classe onde a entidade de origem nao tem seu tipo definido como a classe abaixo: 1: public class Service 2: { 3: public void Save(Object entity) 4: { new Repository<??? 5: } 6: }Uma forma para se contornar isso e instanciar o objeto dinamicamente: 1: public class Service 2: { 3: public void Save(Object entity) 4: { 5: Type type = entity.GetType() 6: var repository = typeof (Repository<>) 7: .MakeGenericType(type); 8: 9: repository 10: .GetMethod("Save", new Type[] { type}) 11: .Invoke(repository, new object[] { entity}); 12: } 13: }Assim com um unico servico pode utilizar o mesmo metodo...Ate mais. Hoje veremos como criar um simples Ajax utilizando o Jquery, para mais duvidas vai a API onde voce encontrara toda a documentacao, o Jquery e uns dos Framework de JavaScript mais utilizados e despensa mais apresentacoes entao vamos para acao. Primeiro vamos realizar uma chamada basica de duas variaveis. [WebMethod] public void SendName(string firstName, string lastName) { } No JavaScript enviamos as variaveis repare que nos nomes devem ser identicos $.ajax({ type: "POST", url: "WebService.asmx/SendName", data: "{'firstName':'Chris','lastName':'Brandsma'}", contentType: "application/json; charset=utf-8", dataType: "json", success: function(msg) { } });O proximo exemplo e de uma chamada utilizado Json nao entraremos em detalhes sobre o Json mas voce vera que e muito util para passagem de objetos. [WebMethod] public void SendValues(List<string> list) { } Veja o Codigo do Jquery: var list = ["a", "b", "c", "d"]; var jsonText = JSON.stringify({ list: list }); $.ajax({ type: "POST", url: "WebService1.asmx/SendValues", data: jsonText, contentType: "application/json; charset=utf-8", dataType: "json", success: function() { alert("it worked"); }, failure: function() { alert("Uh oh"); } }); Funciona legal voce vera que o array foi enviado para o perfeitamente isto tambem funciona para qualquer objeto obedecendo o criterio de a propriedades do objeto sejam identicas no Json e no objeto, lembrando que tambem nao funcionara para objetos dinamicos no .NET, ate a proxima. Expressao lambda e uma funcao ou sub-rotina sem um nome que pode ser usado sempre que um delegado e valido. As expressoes lambda podem ser funcoes ou sub-rotinas e podem ser a unica linha ou multilinha. Voce pode passar valores do escopo atual para uma expressao lambda. [1]Expressoes lambda, uma das evolucoes mais importantes da versao 3,0 do C# em que todo o suporte para LINQ [2] sao apenas um recurso do mundo de programacao funcional. Em LISP e seus dialetos, como Scheme, construcao lambda e um mecanismo para