我们正在开发两个版本的应用程序,不是指应用程序的lite版和标准版之类,其中一个版本将具有有限的功能等。我们实际上将在应用程序中显示不同类型的信息,具体取决于版本(这是我可以在不涉及太多细节的情况下描述它的最佳方式)。
为了区分应用程序的两个版本,我们考虑使用条件属性和#if指令(如果有其他选项或比这两个更好的方法,我愿意听取建议)。经过一些研究和辩论,我们决定采用#if方法,因为这样在编译过程中不会包含不必要的代码(而条件属性只会删除不符合条件的方法的调用,但仍然包括方法… 如果我没有弄错的话)。我知道这两个不是互斥的,所以如果需要,我们可以混合使用。
无论如何...现在我们想知道是否有一种方法,可以根据我们正在编译的应用程序的哪个版本,仅在编译过程中包含某些窗体表单。我们已经拆分了所有逻辑,因此窗体实际上只是窗体,里面几乎没有代码(主要是对处理所有业务逻辑的窗体管理器类的调用)。窗体管理器类将包含其中的一些#if语句,因此在可能的情况下可以在应用程序的两个版本中重复使用代码(而不是制作两个类并在类上放置条件属性...虽然也许这是我们应该考虑的事情)。
有人知道一种好的方法吗?
更新:
只是一个FYI,我们实际上决定要做什么。我们将表单的不同版本放入单独的命名空间中,然后只需要在管理所有表单的类的顶部使用语句周围使用#if语句即可。效果非常出色,工作量很小。
为了区分应用程序的两个版本,我们考虑使用条件属性和#if指令(如果有其他选项或比这两个更好的方法,我愿意听取建议)。经过一些研究和辩论,我们决定采用#if方法,因为这样在编译过程中不会包含不必要的代码(而条件属性只会删除不符合条件的方法的调用,但仍然包括方法… 如果我没有弄错的话)。我知道这两个不是互斥的,所以如果需要,我们可以混合使用。
无论如何...现在我们想知道是否有一种方法,可以根据我们正在编译的应用程序的哪个版本,仅在编译过程中包含某些窗体表单。我们已经拆分了所有逻辑,因此窗体实际上只是窗体,里面几乎没有代码(主要是对处理所有业务逻辑的窗体管理器类的调用)。窗体管理器类将包含其中的一些#if语句,因此在可能的情况下可以在应用程序的两个版本中重复使用代码(而不是制作两个类并在类上放置条件属性...虽然也许这是我们应该考虑的事情)。
有人知道一种好的方法吗?
更新:
只是一个FYI,我们实际上决定要做什么。我们将表单的不同版本放入单独的命名空间中,然后只需要在管理所有表单的类的顶部使用语句周围使用#if语句即可。效果非常出色,工作量很小。