Add Using extension for small using statements.
My first pull request
Any suggestions are welcome. This might not be an extension method due to not having this parameter in method declaration, but it is very helpful to use nevertheless. If the author approves - will add tests for it.
Hello @dsmailys ,
Thank you for submitting this pull.
I believe it's a very good addition and I could have used it myself multiple times.
No need to add a test, I will add it on my side by testing it (Anyway, there is not a lot of tests we can add here hehe!)
Best Regards,
Jonathan
Hello @dsmailys ,
Sorry for the long delay ;)
Is there a reason why you did make it as an extension method such as:
public static void Using<TDisposable>(this TDisposable factory, Action<TDisposable> action)
where TDisposable : IDisposable
{
using (var disposable = factory)
{
action(disposable);
}
}
public static TResult Using<TDisposable, TResult>(this TDisposable factory, Func<TDisposable, TResult> action)
where TDisposable : IDisposable
{
using (var disposable = factory)
{
return action(disposable);
}
}
I believe this implementation will be better which will allow code such as:
var sqlConnection = new SqlConnection();
sqlConnection.Using(x =>
{
if (x.State != ConnectionState.Open)
{
}
});
Let me know your though.
Best Regards,
Jonathan
@JonathanMagnan looks great! I prefer more the syntax that you have outlined in your latest comment. Will you modify it accordingly or should I change up the code for the pull request?