我听到有人说过,代码生成器和T4模板不应该被使用。背后的逻辑是,如果你正在使用生成器生成代码,那么通过泛型和模板化构建代码会更好、更有效率。
尽管我在某种程度上同意上述观点,但我并没有找到有效的方法来构建模板,例如能够自我实例化的模板。换句话说,我永远无法做到:
return new T();
此外,如果我想根据数据库值生成代码,我发现使用
Microsoft.SqlServer.Management.SMO
结合 T4 模板可以轻松生成大量代码,而无需复制/粘贴或使用 Resharper。我发现许多泛型问题是因为惊讶地有很多开发人员不理解它们。当我检查泛型解决方案时,有时会变得很复杂,因为 C# 声明您不能做在我的脑海中似乎很合理的事情。
你的想法是什么?你更喜欢构建生成器还是使用泛型?另外,泛型能达到多远?我对泛型有相当多的了解,但总是遇到陷阱和问题,这使我不得不使用 T4 模板。
在需要大量灵活性的情况下,处理方式应该是什么?哦,作为这个问题的奖励,C# 和泛型的好资源是什么?