Se eu retornar um valor dentro de um bloco usando em um método, o uso descarta o objeto antes do retorno?
Estou passando por algum código C # .NET antigo em um aplicativo ASP.NET, certificando-se de que todosSqlConnections estão embrulhados emusando blocos.
Eu sei dissousando é o mesmo queexperimentar / finalmente onde ele descarta o objeto nofinalmente não importa o que aconteça noexperimentar. Se eu tiver um método que retorne um valor dentro dousando, mesmo que a execução deixe o método quando retornar, ela ainda chama.Dispose () no meu objeto antes / durante / depois de retornar?
public static SqlCommand getSqlCommand(string strSql, string strConnect){
using (SqlConnection con = new SqlConnection(strConnect))
{
con.Open();
SqlCommand cmd = GetSqlCommand();
cmd.Connection = con;
cmd.CommandText = strSql;
return cmd;
}
}
Atualizar: A resposta aceita é a que eu acho melhor responde à minha pergunta, mas observe queesta resposta percebi a estupidez desse código, que estou retornando um comando que usa uma conexão descartada! : P