Comment obtenir le nom de la classe actuelle en C# (nom de la classe elle-même) ?
Bonjour à tous ! Je suis un développeur C# débutant et j'ai rencontré un problème. J'écris un petit logger pour mon application et j'ai besoin que chaque message de log indique automatiquement le nom de la classe à partir de laquelle la méthode de logging a été appelée.
J'essaie différentes méthodes, mais rien ne fonctionne comme je le souhaite. Voici mon code :
```csharp
public class MyClass
{
public void DoSomething()
{
Logger.Log("Début de l'opération");
// ... du code
}
}
public static class Logger
{
public static void Log(string message)
{
// Je veux obtenir "MyClass" ici
string className = ???? ; // que mettre ici ?
Console.WriteLine($"[{className}] {message}");
}
}
```
J'ai essayé d'utiliser `typeof(MyClass).Name`, mais cela code en dur le nom de la classe, et si je copie ce code dans une autre classe, je dois le changer. J'ai essayé via `MethodBase.GetCurrentMethod().DeclaringType.Name`, mais cela retourne "Logger" au lieu de "MyClass". J'ai aussi vu quelque part `this
No answers yet.
Connectez-vous pour laisser une réponse