我们正在开发一个应用程序的两个版本。不是应用程序的精简版和标准版的意义上,其中一个版本将具有有限的功能等。我们实际上将在应用程序中显示不同类型的信息,具体取决于版本(这是我描述它的最佳方式涉及太多细节)。
为了区分我们考虑使用条件属性和#if 指令的两个版本的应用程序(如果有任何其他选项或比这两个更好的方法,我愿意提供建议)。经过一些研究和辩论,我们决定使用#if 方法,因为这不会在编译过程中包含不必要的代码(而条件属性只会删除对不满足条件的方法的调用,但仍然包括方法......如果我没记错的话)。我意识到这两者并不相互排斥,所以如果需要,我们总是可以混合搭配。
无论如何......我们现在想知道的是,是否有一种方法可以在编译期间仅包含某些 Windows 窗体,具体取决于我们正在编译的应用程序的版本。我们已经拆分了所有的逻辑,所以表单实际上只是表单,其中只有很少的代码(主要是调用处理所有业务逻辑的表单管理器类)。表单管理器类将包含其中的一些#if 语句,因此代码可以在应用程序的两个版本中重用,只要可能(而不是创建两个类并在类上放置条件属性......虽然也许这是我们应该考虑的)。
有人知道这样做的好方法吗?
TIA
更新:
只是我们实际决定做的一个仅供参考。我们将不同版本的表单放入单独的命名空间中,然后只需要在管理所有表单的类顶部的命名空间 using 语句周围使用 #if 语句。工作很顺利,而且工作量很小。