मैं नियंत्रक के सभी कार्यों की सूची कैसे प्राप्त कर सकता हूं? मैं खोज करता हूं लेकिन उदाहरण/उत्तर नहीं ढूंढ सकता। मैं प्रतिबिंब का उपयोग करके अनुशंसित कुछ उदाहरण देखता हूं लेकिन मुझे नहीं पता कि कैसे। जाहिर हैनियंत्रक नाम पास करके एमवीसी नियंत्रक के सभी कार्यों की सूची कैसे प्राप्त कर सकता हूं?
public List<string> ActionNames(string controllerName)
{
var types =
from a in AppDomain.CurrentDomain.GetAssemblies()
from t in a.GetTypes()
where typeof(IController).IsAssignableFrom(t) &&
string.Equals(controllerName + "Controller", t.Name, StringComparison.OrdinalIgnoreCase)
select t;
var controllerType = types.FirstOrDefault();
if (controllerType == null)
{
return Enumerable.Empty<string>().ToList();
}
return new ReflectedControllerDescriptor(controllerType)
.GetCanonicalActions().Select(x => x.ActionName)
.ToList();
}
के रूप में हम प्रतिबिंब पता: प्रतिबिंब का उपयोग करना है
public List<string> ActionNames(string controllerName){
}
मैं यहां एक टिप्पणी करने जा रहा हूं, क्योंकि यह सामान्य है। जो आप करने की कोशिश कर रहे हैं उसके लिए (नियंत्रक कार्रवाई नाम) ऐसा नहीं है कि इसे किया जाना चाहिए। एक ही नाम के साथ कई क्रियाएं हो सकती हैं और कुछ अजाक्स केवल इत्यादि हो सकती हैं। आपकी अनुमतियां नियंत्रक कार्यों की तुलना में अन्य चीजों पर आधारित होनी चाहिए। –