A question of style/readability regarding the C# "using" statement

Posted by Charles on Stack Overflow See other posts from Stack Overflow or by Charles
Published on 2010-05-20T23:19:47Z Indexed on 2010/05/20 23:20 UTC
Read the original article Hit count: 175

Filed under:
|
|

I'd like to know your opinion on a matter of coding style that I'm on the fence about. I realize there probably isn't a definitive answer, but I'd like to see if there is a strong preference in one direction or the other.

I'm going through a solution adding using statements in quite a few places. Often I will come across something like so:

{
    log = new log();
    log.SomeProperty = something;  // several of these
    log.Connection = new OracleConnection("...");
    log.InsertData(); // this is where log.Connection will be used
    ... // do other stuff with log, but connection won't be used again
}

where log.Connection is an OracleConnection, which implements IDisposable.

The neatnik in me wants to change it to:

{
    log = new log();
    using (OracleConnection connection = new OracleConnection("..."))
    {
        log.SomeProperty = something;
        log.Connection = conn;
        log.InsertData();
        ...
    }
}

But the lover of brevity and getting-the-job-done-slightly-faster wants to do:

{
    log = new log();
    log.SomeProperty = something; 
    using (log.Connection = new OracleConnection("..."))
        log.InsertData();
    ...
}

For some reason I feel a bit dirty doing this. Do you consider this bad or not? If you think this is bad, why? If it's good, why?

© Stack Overflow or respective owner

Related posts about c#

Related posts about using-statement