Я программирую WCF с помощью ChannelFactory, который ожидает тип, чтобы вызвать метод CreateChannel. Например:
IProxy proxy = ChannelFactory<IProxy>.CreateChannel(...);
В моем случае я делаю маршрутизацию, поэтому не знаю, какой тип будет использовать мой канал factory. Я могу разобрать заголовок сообщения, чтобы определить тип, но я ударил по кирпичной стене, потому что, даже если у меня есть экземпляр типа I, я не могу передать это, когда ChannelFactory ожидает общий тип.
Другой способ переформулировать эту проблему очень просто: я пытаюсь сделать что-то вроде этого:
string listtype = Console.ReadLine(); // say "System.Int32"
Type t = Type.GetType( listtype);
List<t> myIntegers = new List<>(); // does not compile, expects a "type"
List<typeof(t)> myIntegers = new List<typeof(t)>(); // interesting - type must resolve at compile time?
Есть ли подход к этому, я могу использовать в С#?