考虑下面的代码:
void fun1(string typeName)
{
object adap = Activator.CreateInstance(typeName);
adap.dowork(); //won't compile because of strongly typed.
}
使用Activator.CreateInstance()
我们可以轻松地创建任何类型的实例,但是如果我们在设计时不知道类型名,那么也不可能将其向下转换为它的实际类型。
我的问题是,如果我们不能将它向下转换为适当的类型,我们如何调用创建的实例函数,Activator.CreateInstance
因为我们在设计时不知道类型名,但我们知道该函数存在。
我希望我已经说清楚了。