从单个泛型覆盖样式类实例化多个类
本文关键字:实例化 样式 单个 泛型 覆盖 | 更新日期: 2023-09-27 18:10:01
我正在寻找一种能够实例化具有相同方法的多个类的方法。
希望做一些可以将类名作为字符串传入的事情。下面是我到目前为止所编译的,它不会运行,因为我没有正确地实例化类。
我正在做这样的事情,但我知道我错过了一些东西。如果有人能帮忙,我将不胜感激。public class useMyClass{
public runMyClass(string st1, list<string> mysts, string myClass){
classProcessor cp = new myClass1(); // this works
classProcessor cp = new myClass2(); // this works
// Here I just want to be able to do using the string variable myClass (myClass1 or myClass2 ) could be the string value
//classProcessor cp = new Class(myClass);
// This does not work always null
classProcessor cp = (classProcessor)System.Reflection.Assembly.GetExecutingAssembly().CreateInstance(myClass);
cp.myMethod(st1,mysts);
}
}
file1: classProccessor.cs
public interface classProccessor{
public void myMethod(string st1, list<string> mysts);
}
file2: myClass1.cs
public class myclass1 : classProccessor{
public void myMethod(string st1, list<string> mysts){
//do something;
}
}
file3: myClass2.cs
public class myclass2 : classProccessor{
void myMethod(string st1, list<string> mysts){
// do something different;
}
}
如何通过使用接口使用类的字符串名称创建类的新实例?我知道我一定错过了一些简单的东西。
界面不会自动生成。
您需要在每个类中显式地实现接口:
public clas MyClass1 : IClassProcessor