Cómo obtener el nombre de la clase actual en C# (nombre propio de la clase)
¡Hola a todos! Soy un desarrollador principiante de C# y me encontré con un problema. Estoy escribiendo un pequeño logger para mi aplicación y necesito que en cada mensaje de log se indique automáticamente el nombre de la clase desde la cual se llamó al método de logging.
Estoy probando diferentes formas, pero nada funciona como debería. Aquí está mi código:
```csharp
public class MyClass
{
public void DoSomething()
{
Logger.Log("Inicio de operación");
// ... algún código
}
}
public static class Logger
{
public static void Log(string message)
{
// Quiero obtener "MyClass" aquí
string className = ???? ; // ¿qué poner aquí?
Console.WriteLine($"[{className}] {message}");
}
}
```
Intenté usar `typeof(MyClass).Name`, pero esto hardcodea el nombre de la clase, y si copio este código en otra clase, tendré que cambiarlo. Intenté con `MethodBase.GetCurrentMethod().DeclaringType.Name`, pero esto devuelve "Logger", no "MyClass". También vi en algún lado `this