using(var myDisposable = new MyDisposable)
{
//Do stuff.
}
отлично и все.Но если вам нужно было:
using(var myDisposable = new MyDisposable)
{
var myAnswer = CalculateMyAnswer(myDisposable);
}
и вы хотите использовать myAnswer
позже, тогда вы должны объявить myAnswer
за пределами блока, и он начинает казаться немного странным.: (
Есть ли способ объявить блок using
, но он не должен инкапсулировать область видимости, чтобы переменные, объявленные внутри этого блока, все еще были видны за его пределами?
ИтакНа данный момент мое лучшее решение - просто распорядиться моей переменной:
var myDisposable = new MyDisposable
var myAnswer = CalculateMyAnswer(myDisposable);
myDisposable.Dispose();
, но это теряет многое из того, что мне нравится в using
.
Есть ли альтернативы?