【发布时间】:2012-03-25 13:14:45
【问题描述】:
我不希望我的列表是固定类型的。相反,我希望 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();
}
}
}
谁能告诉我我需要做哪些更改才能使其正常工作?我希望 list 的创建取决于变量 something 的类型
【问题讨论】:
-
您需要为此使用反射。您不能使用静态类型的变量。或者找到不同的方法。
-
“我想要类型安全,但我需要动态类型安全。”你能详细说明一下吗?
-
@David:动态类型安全我的意思是,如果变量 something 是 int 类型,则列表应该是 int 类型,如果是 string 类型,那么列表应该是 string 类型和等等。
-
@Jaggu 我不明白那是什么意思。你所说的似乎与类型安全无关。当您将错误类型的项目添加到列表中时,您是否正在寻找运行时错误?是这个意思吗?
-
@David:是的,运行时错误在这种情况下就足够了。没有编译错误就OK了。
标签: c# .net reflection