I have three methods:
public void Save<T>(T entity)
{
using (new Transaction())
{
Session.Save(entity);
}
}
public void Create<T>(T entity)
{
using (new Transaction())
{
Session.Create(entity);
}
}
public void Delete<T>(T entity)
{
using (new Transaction())
{
Session.Delete(entity);
}
}
As you can see, the only thing that is different is the method call inside the block using. How can I rewrite this so that there is something like this instead:
public void Save<T>(T entity)
{
TransactionWrapper(Session.Save(entity));
}
public void Create<T>(T entity)
{
TransactionWrapper(Session.Create(entity));
}
public void Save<T>(T entity)
{
TransactionWrapper(Session.Save(entity));
}
In other words, I pass the method call as a parameter, and the method TransactionWrapperwraps the transaction around the method call.
source
share