Нет, нет ничего особенно ориентированного на это. Вы могли написать:
public static ResourceItem GetById(int id)
{
WithDataContext(db =>
{
// Code goes here...
});
}
// Other methods here, all using WithDataContext
// Now the only method with a using statement:
private static T WithDataContext<T>(Func<TestDataContext, T> function)
{
using (var db = DataContextFactory.Create<TestDataContext>())
{
return function(db);
}
}
Я не уверен, что это будет особенно выгодно, хотя.
(Обратите внимание, что мне пришлось изменить его с Action<TestDataContext>
в моей исходной версии на Func<TestDataContext, T>
, поскольку вы хотите иметь возможность возвращать значения из ваших методов.)