1

背景:当我为我的映射项目生成代码时,无论我将哪种文件类型发送到命令,都只会运行一个映射。

我想修改项目代码生成,以便在生成地图时 applicationConsole.cs 允许多个文件和文件类型,并根据我发送的参数选择适当的地图。

到目前为止,我的项目包含 4 张地图,每张都不同,并且有一个参数指示是否运行地图。生成代码后,applicationConsole.cs 在运行地图时不会区分。applicationConsole.cs 中列出的第一张地图已运行,而其他地图则未运行。如果第一张地图与给定的参数匹配,则输出正确,但如果下一个进入的文件不匹配,则控制台关闭而不是继续下一张地图。

由于必须经常生成代码,我试图避免直接操作 applicationConsole.cs。

问题:有谁知道如何修改 Mapforce 项目代码生成的输出以添加基于文件类型的地图类型开关?

4

2 回答 2

0

看看Java和C#下的重构

确实,当您查看生成的存根代码并且需要组合几个映射时,第一个重构任务是重命名命名空间,Altova 使用它的命名空间作为默认命名空间,因此 mapa 命名空间将很有帮助 mapb 命名空间等。

我将提供 C# 示例 http://msdn.microsoft.com/en-us/library/vstudio/6kxxabwd.aspx

然后你有控制台应用程序,所以你想复制 applicationConsole.cs 并将其重命名为你的项目名称或类名称,然后提取方法

http://msdn.microsoft.com/en-us/library/vstudio/0s21cwxk.aspx

最后,您需要提取接口以返回异常构造函数 http://msdn.microsoft.com/en-us/library/vstudio/fb3dyx26.aspx 和:http: //msdn.microsoft.com/en-我们/图书馆/tz6bzkbf.aspx

您将拥有一个项目,您的启动项目是您在项目或解决方案文件夹中复制并重命名的原始 applicationConsole.cs。当您更新地图时,您应该能够使用 Mapforce 生成的内容覆盖该文件夹中的代码。

该文件由 MapForce 2013r2sp2 生成。你不应该修改这个文件,因为当你重新运行代码生成时它会被覆盖。有关详细信息,请参阅 MapForce 文档

这就是您将在该文件中看到的内容,使用上面概述的技术,该工具非常易于使用。如果您是桌面程序员,重构可能是新的,但它可以节省大量时间和精力,并使产品完整。

于 2013-11-04T16:00:06.713 回答
0

在 altova mapforce 应用程序安装目录中,有一个 SPL 目录。这是根据您选择的语言生成自动生成代码。

备份该目录并根据您的要求修改 SPL 目录代码。您需要学习 SPL(间谍编程语言)。

http://manual.altova.com/Mapforce/mapforce-enterprise/index.html?cgthewaytospl(spyprogrammingla.htm

如果您需要其他任何东西,请在此处通知我。我对自定义 SPL 有很好的命令。

谢谢

于 2012-02-28T07:53:25.127 回答