加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 03:20:38 所属栏目:asp.Net 来源:网络整理
导读:我写了一些剃刀助手,这些助手使用的功能包括T4MVC生成的扩展方法. 我现在想将它们移动到控件库中,以便它们可以在多个mvc应用程序中使用. 我使用的最初想法是我可以将模板的副本放入控件库,这是有效的,缺点是应用程序中使用的模板然后在同一名称空间中重新生
我写了一些剃刀助手,这些助手使用的功能包括T4MVC生成的扩展方法.
我现在想将它们移动到控件库中,以便它们可以在多个mvc应用程序中使用.
我使用的最初想法是我可以将模板的副本放入控件库,这是有效的,缺点是应用程序中使用的模板然后在同一名称空间中重新生成相同的扩展方法.
因为我正在使用一些需要ActionResult接口的扩展,所以我需要命名空间保持不变.

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

这可能会强制使用接口IT4MVCActionResult,

解决方法

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

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

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

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

理想情况下,我宁愿避免将它们放在一个单独的文件中,因为有些用户可能会开始抱怨T4MVC会带来太多文件.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读