Возможно ли разрешение типа шаблонной функции в рантайме?

class Program
{
    static void Main(string[] args)
    {
        int a = 0;
        long b = 0;
        short c = 0;

        C.A(a);
        C.A(b);
        C.A(c);

        C.B(a);
        C.B(b);
        C.B(c);
    }
}

public static class C
{
    public static void A<T>(T o)
    {
        Console.WriteLine($"Template");
    }
    public static void A(long o)
    {
        Console.WriteLine($"Long");
    }
    public static void A(int o)
    {
        Console.WriteLine($"Int");
    }
    public static void B<T>(T param)
    {
        A(param);
    }
}

C.B(..) вызывает A<T>() вне зависимости от типа аргумента.
Можно как-нибудь заставить разрешать типы в рантайме?

Хочется избавиться от повторяющегося кода...


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