Usar return dentro de using


Para empezar, os cuento la primera duda que me ha surgido hoy y que quiero recoger en el blog, tiene que ver con el uso de un return de una función dentro de un using. Me surgía la cuestión de si esto era una “buena práctica” o por el contrario no se debía hacer un return dentro de using.

Echando un vistazo, he visto que salvo en contadas excepciones no es ningún problema, ya que realmente el uso de using{} es como un bloque try{}finally{}

Os pongo un ejemplo de código sólo para que os hagáis una idea. El ejemplo lo he sacado de stackoverflow, os pongo también el enlace.


using(scope =new TransactionScope())
{
  // my core logic
  return true; // if condition met else
  return false;
  scope.Complete();
}

Este código se podría sustituir por este


var scope = new TransactionScope())
try
{
  // my core logic
  return true; // if condition met else
  return false;
  scope.Complete();
}
finally
{
  if( scope != null) 
    ((IDisposable)scope).Dispose();
} 

El enlace donde he visto la información y este ejemplo de código que me ha resultado interesante es el siguiente:

http://stackoverflow.com/questions/11776945/is-it-a-good-approach-to-call-return-inside-using-statement

Tomároslo solo como algo de curiosidad, espero que como a mi, os haya resultado interesante.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s