前言
在ASP.NET Core中引入了DI,并且通過構(gòu)造函數(shù)注入?yún)?shù),控制器中會大量使用DI注入各種的配置參數(shù),如果配置注入的參數(shù)比較多,而且各個控制器需要的配置參數(shù)都基本一樣的話,那么不斷重復(fù)的復(fù)制黏貼代碼提供相應(yīng)的構(gòu)造函數(shù),效率低效也,因此使用T4模板生成控制器的構(gòu)造函數(shù) ,這也得益于C#對分部類(partial)的支持。
T4模板生成控制器構(gòu)造函數(shù)
圖中CtrlTemplate.tt為模板文件,CtrlNames.txt為需要使用T4生成代碼的控制器名稱文件,CtrlTemplate.cs為T4模板生成的文件。
CtrlNames.txt文件內(nèi)容:
Values Account
CtrlTemplate.tt代碼: