Wenn ich in einer Methode einen Wert innerhalb eines using-Blocks zurückgebe, wird das Objekt vor der Rückgabe durch using entsorgt?

Ich gehe einige alte C # .NET-Code in einer ASP.NET-Anwendung, um sicherzustellen, dass alleSqlConnections eingewickelt sindmit Blöcke.

ich weiß dasmit ist das gleiche wieVersuchen / schließlich wo es das Objekt in der entsorgtschließlich egal was in der passiertVersuchen. Wenn ich eine Methode habe, die einen Wert innerhalb des zurückgibtmitAuch wenn die Ausführung die zurückgegebene Methode verlässt, wird sie dennoch aufgerufen.Dispose () auf mein Objekt vor / während / nach seiner Rückkehr?

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;
    }
}

Aktualisieren: Die akzeptierte Antwort ist die, von der ich denke, dass sie meine Frage am besten beantwortetdiese Antwort Die Dummheit dieses Codes ist, dass ich einen Befehl zurückgebe, der eine nicht verfügbare Verbindung verwendet! : P

Antworten auf die Frage(2)

Ihre Antwort auf die Frage