Zwracanie wartości metody z wnętrza instrukcji using, która pobiera DataContext, wydaje się zawsze działać dobrze , na przykład:
public static Transaction GetMostRecentTransaction(int singleId)
{
using (var db = new DataClasses1DataContext())
{
var transaction = (from t in db.Transactions
orderby t.WhenCreated descending
where t.Id == singleId
select t).SingleOrDefault();
return transaction;
}
}
Ale zawsze czuję, że powinienem coś zamknąć, zanim wyrwę się z używania nawiasów, np. Definiując transakcję przed instrukcją using, wpisując jej wartość w nawiasach, a potem wracając po nawiasach.
Czy zdefiniowanie i zwrócenie zmiennej poza nawiasami używanymi byłoby lepszą praktyką lub w jakikolwiek sposób oszczędziłoby zasoby?