हां। केवल एक चीज यह है कि आपको कक्षा के नामस्थान को भी आपूर्ति करने की आवश्यकता होगी।
हैथ ने इसे काफी पसंद किया है। जब से मैं (अस्थायी, नाम स्थान है उपयोगकर्ता classname है और मौजूद है इसके भीतर एक सार्वजनिक स्थैतिक विधि है।)
private static object ExecuteStaticMethod(string method_full_path, object[] args)
{
var tokens = method_full_path.Split('.');
string class_full_name = String.Format("{0}.{1}", tokens[0], tokens[1]);
var class_blueprint = Assembly.GetExecutingAssembly().GetType(class_full_name);
var handle_to_method = class_blueprint.GetMethod(tokens[2], BindingFlags.Default | BindingFlags.InvokeMethod | BindingFlags.Static | BindingFlags.Public);
return handle_to_method.Invoke(null, args);
}
public static void Main(string[] args)
{
Console.WriteLine(ExecuteStaticMethod("temp.User.Exists", new object[] {"Gishu"})); // prints false
User.Create("Gishu");
Console.WriteLine(ExecuteStaticMethod("temp.User.Exists", new object[] { "Gishu" })); // prints true
}
+1 मुझे देखने और कुछ और सीखने के लिए +1। – Gishu