मेरे पास कुछ मामले हैं जहां मुझे कक्षा के नाम से विधि नामों को कॉल करना है।गतिशील रूप से कॉलिंग विधि और कक्षा का नाम
string scenario1 = "MockScenario1";
string scenario2 = "MockScenario2";
MockScenario1.GetInfo();
MockScenario2.GetInfo();
मैं गतिशील रूप से की तरह
scenario1.GetInfo()
scenario2.GetInfo()
मैं संबंधित विकल्प खोजने के लिए स्ट्रिंग और नियंत्रण अंतरिक्ष से सभी विकल्पों को जानने की कोशिश यहां विधि नाम कॉल करने के लिए तार का उपयोग कर सकते हैं। कोई सुझाव?
मैं नीचे और वर्ग के नाम गतिशील
उत्पन्न होने की कोशिश की कोशिश की कर रहा हूँ नीचे कोड उत्पन्न विधि नाम गतिशील
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);
अधिक स्पष्ट परिदृश्य: मैं पैरामीटर के रूप में वर्ग के नाम भेजने के लिए कोशिश कर रहा हूँ MockScenario1 और MockScenario2 कक्षा के नाम हैं। आप कमांड डिज़ाइन पैटर्न इस्तेमाल कर सकते हैं
Type thisType = this.GetType();
MethodInfo theMethod = thisType.GetMethod(FunctionName);
theMethod.Invoke(this, userParameters);
की संभावित डुप्लिकेट [परिवर्तनीय नाम के लिए स्ट्रिंग] (http://stackoverflow.com/questions/1293549/string-to-variable-name) – Residuum
निम्न लिंक देखें http://stackoverflow.com/questions/1 044455/सी-तेज-प्रतिबिंब-कैसे-प्राप्त-श्रेणी-संदर्भ-से-स्ट्रिंग –
http://stackoverflow.com/a/39793450/5962841 में देखें यह कक्षा – Mafii