Узнать название класса и метода

Можно как то узнать название класса и метода ?

Возможно такие вещи как то иначе решаются...

Я хотел бы в блоке catch написать что то такое:

Debag.Writeline($"{Название класса} {Название метода} {ex.Message}")

Ответы (1 шт):

Автор решения: aepot

Зачем, если есть трассировка стека? И название класса, и метода и номер строки кода. Debug.WriteLine(ex.ToString()); - и не надо мудрить.

А так имя класса не получится, а вот метода можно

static void Main(string[] args)
{
    try
    {
        throw new ArgumentException("My message");
    }
    catch (Exception ex)
    {
        Console.WriteLine($"{ex.GetType().Name} in method {ex.TargetSite}: {ex.Message}");
    }
    Console.ReadKey();
}
ArgumentException in method Void Main(System.String[]): My message

Тогда как ex.ToString() выдаст следующее

System.ArgumentException: My message
   at ConsoleApp1.Program.Main(String[] args) in C:\Source\ConsoleApp1\ConsoleApp1\Program.cs:line 18

Согласитесь, удобнее? Именно трассировка стека - ваш спасательный круг при поиске источника исключения.

→ Ссылка