Как использовать typeof или GetType () как Шаблон Дженерика?

24
задан faulty 29 May 2011 в 00:40
поделиться

1 ответ

Вы не может. Дженерики в.NET должны быть разрешены во время компиляции. Вы пытаетесь сделать что-то, что разрешило бы их во времени выполнения.

, который единственная вещь, которая можно сделать, состоит в том, чтобы предоставить перегрузке FunctionA, который берет текстовый объект.

<час>

Hmmm... комментатор прав.

class Program
{
    static void Main(string[] args)
    {
        var t = typeof(Foo);
        var m = t.GetMethod("Bar");
        var hurr = m.MakeGenericMethod(typeof(string));
        var foo = new Foo();
        hurr.Invoke(foo, new string[]{"lol"});
        Console.ReadLine();
    }
}

public class Foo
{
    public void Bar<T>(T instance)
    {
        Console.WriteLine("called " + instance);
    }
}

MakeGenericMethod.

13
ответ дан kmote 28 November 2019 в 23:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: