gpt4 book ai didi

c# - 使用应用程序 Controller MVC

转载 作者:行者123 更新时间:2023-11-30 21:58:34 25 4
gpt4 key购买 nike

好吧,基本上我正在构建一个 nuget 包,我希望这个类做的一件事是获取当前的应用程序 Controller

所以目前在主项目中我做了以下事情

using SolutionName.Website.MVC5.Controllers;

我想做的是类似

using this.Application.Controllers;

因此,它会动态填充安装包的任何解决方案的命名空间。

我已经在这里坐了一个小时来研究可能的排列,并且还用谷歌搜索了一些但不确定到底要用谷歌搜索什么

这包括 API Controller ,我使用的是 MVC 5

干杯

马丁

最佳答案

下面的一小段反射将为您提供以“Controller”结尾的文件的所有命名空间。

var namespaces = this.GetType().Assembly.GetTypes()
.Where(t => t.Name.EndsWith("Controller"))
.Select(x => x.Namespace).Distinct().ToList();

您需要从您的代码中调用它,最好是在 Global.asax 中。

请记住,您的 Controller 可能分散在多个命名空间中,因此必须使用额外的逻辑来解决这个问题。命名空间的数量完全取决于您构建应用程序的严格程度。

或者,您也可以提取直接从“System.Web.Mvc.Controller”继承的类型,正如 Andrew Whitaker 所指出的那样。

var namespaces = this.GetType().Assembly.GetTypes()
.Where(t => t => t.IsSubclassOf(typeof(Controller)))
.Select(x => x.Namespace).Distinct().ToList();

关于c# - 使用应用程序 Controller MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29988871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com