Так что я пытаюсь достичь, по сути, передать тип методу и вернуть IEnumerable этого типа из метода.Как вернуть IEnumerable типа X из метода
Это то, что мне удалось до сих пор:
class Program
{
static void Main(string[] args)
{
var x = PassType(typeof(Test));
}
public static IEnumerable<dynamic> PassType(Type destType)
{
var testInstance = new Test() { Name = "Greg", Age = 45, IsSomething = false };
var destinationList = ((IEnumerable<object>)Activator.CreateInstance(typeof(List<>).MakeGenericType(new[] { destType }))).ToList();
destinationList.Add(testInstance);
return destinationList;
}
}
public class Test
{
public string Name { get; set; }
public int Age { get; set; }
public bool IsSomething { get; set; }
public Test()
{
}
}
Однако это, очевидно, возвращая IEnumerable типа динамичны, мне было интересно, есть ли способ вернуть IEnumerable типа Test
Заранее спасибо
Почему вы не используете дженерики? 'IEnumerable x = PassType ();' –
@TimSchmelter Я предполагаю, что OP не знает тип во время компиляции. – HimBromBeere