Generic-функции и имена классов

Столкнулся недавно на работе… Возможно это очевидная вещь, но мне показалось не очевидным. По этому оставлю это тут — на всякий случай.

Предположим у нас есть функция:

public void SomeFunction<T>()
{
    // Нам нужно вывести имя класса-шаблона T здесь
    // Самым очевидным будет сделать
    Console.WriteLine(nameof(T));
}

И это будет не верным — в консоль будет выведено «T».

Но как же нам получить имя пришедшего класса ?

public void SomeFunction<T>()
{
    Console.WriteLine(nameof(typeof(T)));
    // или
    Console.WriteLine(typeof(T).Name);
}

Как то так.

, ,

Powered by WordPress. Designed by WooThemes