gpt4 book ai didi

asp.net-mvc - T4MVC 在控件库中使用扩展方法

转载 作者:行者123 更新时间:2023-12-04 21:24:40 26 4
gpt4 key购买 nike

我编写了一些 razor 助手,这些助手使用的函数包括 T4MVC 生成的扩展方法。
我现在想将它们移动到一个控件库中,以便它们可以在多个 mvc 应用程序中使用。
我最初使用的想法是我可以将模板的副本放入控件库中,这很有效,缺点是应用程序中使用的模板然后在相同的命名空间中重新生成相同的扩展方法。
因为我正在使用一些需要 ActionResult 接口(interface)的扩展,所以我确实需要命名空间保持不变。

我想知道的是,是否有一种已知的方法来使用控件库中的扩展以及引用该库的应用程序,或者是否需要更改模板以便可以通过生成或不生成静态扩展方法设置文件中的标志?
我还想知道静态扩展是否可以包含在与模板一起存在的单独 cs 文件中。所以我们有 2 个类 T4Extensions 和 DynamicT4Extensions?

不过,这可能会强制使用接口(interface) IT4MVCActionResult,

最佳答案

这与 http://forums.asp.net/p/1510753/3603100.aspx 相似但不完全相同.

我想知道解决方案是否可能是在设置文件中添加一个新开关,以关闭这些静态方法的生成。因此,如果您知道您已经从某个引用的程序集中获取它们,您将在应用程序中将它们关闭。

虽然如果你有多个不相关的库,每个库都需要使用这些方法,这可能仍然会崩溃,因为应用程序会得到一个模棱两可的引用。

请注意,我们不能将方法设置为内部方法,因为其中一些方法需要从位于不同程序集中的 View 中调用。

理想情况下,我宁愿避免将它们放在单独的文件中,因为一些用户可能会开始提示 T4MVC 引入了太多文件。

对不起,不是一个明确的答案,而是更多地思考可能性。 :)

关于asp.net-mvc - T4MVC 在控件库中使用扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5563163/

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