Using various types in a 'using' statement (C#)
Other variable declarations in C# only allow you to declare multiple variables of the same type in the same statement; I don't see why using
headers should be different.
You can do this though:
using (IDisposable cmd = new SqlCommand(), con = (cmd as SqlCommand).Connection)
{
var command = (cmd as SqlCommand);
var connection = (con as SqlConnection);
//code
}
Perhaps that would be satisfactory to you.
There's no particularly good technical reason; we could have come up with a syntax that allowed multiple declarations of nonhomogeneous types. Given that we did not, and there already is a perfectly good, clear, understandable and fairly concise mechanism for declaring nested using blocks of different types, we're unlikely to add a new syntactic sugar just to save a few keystrokes.