在我的 MVC 3 项目中,我有一种方法,可以扫描 dll 中的文件夹 bin 和一些负载。然后我过滤并获取列表控制器类。然后我过滤并尝试列出返回 ActionResult 的方法。但我得到了复制方法。我尝试按属性过滤。但什么都没有得到
private void GetControllers()
{
IEnumerable<FileInfo> files = this.GetFileList();
foreach (var fileInfo in files)
{
if (fileInfo.Name != "SGN.Framework.dll" && fileInfo.Name != "SGN.Controls.dll")
{
Assembly assembly = Assembly.LoadFile(fileInfo.FullName);
AssemblyName asamName = assembly.GetName();
IList<Type> myType =
assembly.GetTypes().Where(item => item.Name.Contains("Controller")).Where(
item => item.Name != "AdminsController" && item.Name != "ModuleController").ToList();
foreach (var type in myType)
{
var m =
type.GetMethods().Where(
item =>
item.ReturnType == typeof(ActionResult)).Except(type.GetCustomAttributes(true).Where(i => i != typeof(ActionInfoAttribute)));
}
}
}
}