考虑以下代码:
public abstract class BaseClass {
abstract void DoWork();
virtual void MoreWork() {
Console.WriteLine("MoreWork");
}
}
public class classA : BaseClass {
public void DoWork() { DoStuffA(); }
}
public class classB : BaseClass {
public void DoWork() { DoStuffB(); }
}
我想要一个方法,我想将所有这些类型传递给它并让它们被实例化。
void Initialize(params BaseClass[] lst) {
for (int i = 0; i < objectList.Length; i++) {
Activator.CreateInstance(objectList[i]); // not sure if this works.
}
}
Initialize(classA, classB);
我该如何完成这样的事情?