Mam kilka przypadków, w których muszę wywoływać nazwy metod od nazw klas.Dynamicznie wywołująca metoda i nazwa klasy
string scenario1 = "MockScenario1";
string scenario2 = "MockScenario2";
MockScenario1.GetInfo();
MockScenario2.GetInfo();
Jak mogę dynamicznie używać strun zadzwonić nazwę metody tutaj jak
scenario1.GetInfo()
scenario2.GetInfo()
Starałem się znaleźć wszystkie opcje przez smyczkową i kontroli przestrzeni znaleźć opcje związane. Jakieś sugestie?
ja próbowałem poniżej i staramy się nazwa klasy generowane dynamicznie
Poniższy kod generowany nazwa metody dynamicznie
string methodName = "hello";
//Get the method information using the method info class
MethodInfo mi = this.GetType().GetMethod(methodName);
//Invoke the method
// (null- no parameter for the method call
// or you can pass the array of parameters...)
mi.Invoke(this, null);
bardziej jasne scenariusz: Próbuję wysłać nazwę klasy jako parametr MockScenario1 i MockScenario2 to nazwy klas.
string scenarioCats = "MockScenario1";
string scenarioDogs = "MockScenario2";
GetResult(scenarioCats);
GetResult(scenarioDogs);
public static void GetCatsResult(string scenarioCats){
scenarioCats obj = new scenarioCats();
obj.GetInfo();
}
public static void GetDogsResult(string scenarioDogs){
scenarioDogs obj = new scenarioDogs();
obj.GetInfo();
}
Możliwy duplikat [string na nazwę zmiennej] (http://stackoverflow.com/questions/1293549/string-to-variable-name) – Residuum
Sprawdź poniższy link http://stackoverflow.com/questions/1 044455/c-sharp-reflection-how-to-get-class-reference-from-string –
Zobacz na http://stackoverflow.com/a/39793450/5962841 pokazuje przykład uzyskania metody z klasy – Mafii