我不希望我的列表是固定类型.相反,我希望List的创建依赖于变量的类型.此代码不起作用:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.Generic;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
string something = "Apple";
Type type = something.GetType();
List<type> list = null;
Console.ReadKey();
}
}
}
Run Code Online (Sandbox Code Playgroud)
谁能告诉我需要做些什么改变才能让它正常工作?我希望创建list
依赖于变量的类型something
我将通用列表传递给函数,我想枚举列表中的对象.如果我能够枚举列表中的项目,我将使用反射到其余部分.
var Items= new List<String>(){"s1","s2"};
Enumerate(Items);
void Enumerate(object items)
{
//i know the type so i can cast and enumerate
foreach(var item in (List<String>) items)
{
}
// i don't know the type of object in the list
//Following won't work , can't cast to List<object>
foreach (var item in (List<object>) items)
{
}
}
Run Code Online (Sandbox Code Playgroud)