我有一个案例,需要生成两个C#代码文件,这两个文件的代码几乎相同,但方法的输入和输出类型的命名空间不同。实际上,每个文件都是为了特定的国家而存在的,并且类型来自于该国家特定的WSDL。
我正在编写一些服务的包装器,逻辑完全相同,但从WSDL自动生成的类型却不同。我该如何减少编码工作量,只在一个地方编写逻辑,并为两种不同的类型集生成代码?
我有一个案例,需要生成两个C#代码文件,这两个文件的代码几乎相同,但方法的输入和输出类型的命名空间不同。实际上,每个文件都是为了特定的国家而存在的,并且类型来自于该国家特定的WSDL。
我正在编写一些服务的包装器,逻辑完全相同,但从WSDL自动生成的类型却不同。我该如何减少编码工作量,只在一个地方编写逻辑,并为两种不同的类型集生成代码?
您可以使用T4 Toolbox (旧的 CodePlex 项目, 新的 GitHub 项目),并使用工具函数生成多个文件。
作者 Oleg Sych 发表了一篇详细的博客文章 (存档版本)
或者,如果您不想为此功能添加依赖项,您可以使用 T4 文件 MultiOutput.tt (存档版本)