No dia 19/11/2007 saiu o tão esperado visual studio 2008 com suas 250 novidades, entre elas a versão final do Linq que teve algumas alterações, abaixo a lista com os quatro métodos que tiveram o seu nome trocado.
| Método Anterior (VS2008 Beta1 e Beta2) |
Método Renomeado (VS 2008 RTM) |
| Add() | InsertOnSubmit() |
| AddAll() | InsertAllOnSubmit() |
| Remove() | DeleteOnSubmit() |
| RemoveAll() | DeleteAllOnSubmit() |
Mais Info
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2060651&SiteID=1
No C# 3.0 e .NET 3.5 tem uma grande novidade quando queremos declarar um método, trata-se do métodos de extensão (extension methods).
Quando se usa o this (na declaração do primeiro parametro do método), nâo se passa a variável no paramentro mais sim declara antes: variável.método();
Abaixo um exemplo simples de um código:
Using Saudacao;
public class Programa
{
public class MetotoQualquer()
{
String Nome = “Túlio”;
Nome.Ola();
Console.Write(nome);
}
}
namespace Saudacao
{
public static class Saudacao
{
public static string Ola(this nome)
{
return String.Format(”Olá {0}”, nome);
}
}
}
Quando você dê o Using no namespace Saudacao você terá o método Ola() disponivel para todos os Objetos String do escopo.
Uma caracterÃstica muito importante dos métodos de extensão é que eles podem ser adicionados a tipos base. A classe object, por exemplo, pode ser estendida para ter um método qualquer e consequentemente ele estará disponÃvel para todas as outras classes do framework e da aplicação.