读书人

C#利用反照实例化Listlt;classNamegt;(未知

发布时间: 2013-10-30 12:56:21 作者: rapoo

C#利用反射实例化List<className>(未知类名的情况下)
class Staff
{
.....;
}

class Main()
{
void Run()
{
List<Staff> staffs = new List<Staff>();
}
}

问题:如果不知道Staff类的类名 只有一个string(值为"Staff") 如何像下面那样实例化List<>

List<Staff> staffs = new List<Staff>();

(我只知道如何利用反射实例化Staff 但是不知道如何实例化List<Staff>)

先谢谢大家了!
C#利用反照实例化List<className>(未知类名的情况下) C#反射
[解决办法]
var d1 = typeof(List<>);
Type[] typeArgs = { Type.GetType("Namespace.Staff") };
var makeme = d1.MakeGenericType(typeArgs);
object o = Activator.CreateInstance(makeme);

*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/

读书人网 >C#

热点推荐