Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/10/2014, 07:36
Avatar de ras_chalo
ras_chalo
 
Fecha de Ingreso: junio-2010
Mensajes: 369
Antigüedad: 13 años, 9 meses
Puntos: 6
Pregunta Obtener el nombre del método?

hola a todos!, bueno soy algo noob para temas de programación. Estoy tratando de obtener el nombre de un metodo para temas de log. Estoy usando la sintaxis "MethodBase.GetCurrentMethod().Name" el cual me retorna efectivamente el nombre del metodo donde coloco dicho código, hasta ahí todo bien. La dificultad que tengo es que necesito obtener el nombre del método que estoy usando desde otra clase, me explico:

Tengo una clase llamada LogeaError y un metodo llamado GetWorkOrderDetail, en donde yo ejecuto GetWorkOrderDetail e invoco a LogeaError a través de una línea de código como la siguiente:



Código C++:
Ver original
  1. public ResponseWorkOrder GetWorkOrderDetail(string district, string wo_no, string wo_stat_type, string userWS, string token)
  2.         {
  3.           try
  4.             {
  5.                ....
  6.             }
  7.            catch (Exception e)
  8.             {
  9.                 LogeaError.LogPendientes1 EjecucionesPendientes = new LogeaError.LogPendientes1(district, wo_no, wo_stat_type, userWS, token);
  10.                 return new ResponseWorkOrder { Success = false, Text = e.Message };
  11.             }

En la clase LogeaError.LogPendientes1 tengo el siguiente codigo:
Código C++:
Ver original
  1. if (!File.Exists(vPath + fileName))
  2.                 {
  3.                     // Create a file to write to.
  4.                     using (StreamWriter sw = File.CreateText(vPath + fileName))
  5.                     {
  6.                        
  7.                         //AQUI TENGO QUE TRAERME EL NOMBRE DEL METODO
  8.                         sw.WriteLine("Method: " + MethodBase.GetCurrentMethod().Name + " || Date: " + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + " || Parameters: " + Vdistrict + " - " + Vwo_no + " - " + Vwo_stat_type + " - " + VuserWS + " - " + Vtoken);
  9.                     }
  10.                     writer.Close();
  11.                 }
  12.                 else
  13.                 {
  14.                     //AQUI TENGO QUE TRAERME EL NOMBRE DEL METODO
  15.                     writer.WriteLine("Method: " + MethodBase.GetCurrentMethod().Name + " || Date: " + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + " || Parameters: " + Vdistrict + " - " + Vwo_no + " - " + Vwo_stat_type + " - " + VuserWS + " - " + Vtoken);
  16.  
  17.                     writer.Close();
  18.                 }

El problema que tengo es que el nombre del metodo que me trae es un tal ".ctor", y deberia ser "GetWorkOrderDetail"....

Qué necesito hacer para que me traiga el nombre del método que necesito??

Desde ya muchas gracias por su tiempo!, Estaré atento a sus respuestas.
Saludos!!