【发布时间】:2021-11-21 20:40:19
【问题描述】:
我们使用的是 trail 和 license 等预处理器指令,因此我们有两个用于 trail 和 license 的安装程序。当用户想要从试用升级到许可时,他们必须卸载试用并安装许可,反之亦然。现在我们只想拥有一个安装程序,这意味着我们希望摆脱重新安装应用程序以获取许可的过程,并且只有一个为 Trail 和许可用户提供服务的安装程序。所以我的问题是基于一些许可文件,即 DAT文件,我们应该如何使用 C# 代码更改预处理代码 用户升级或降级许可证后更改代码的替代方法是什么。如果许可证有任何变化,那么我们需要再次使用 Main 方法并重新加载会话和所有异常处理程序、引擎并打开相应的模式。请建议如何为此类挑战编写代码。
class Program
{
static void Main(string[] args)
{
#if Trail
SomeStaticClass.PropertyId = "10023";
//trail based code
#elif LICENSED
SomeStaticClass.PropertyId = "10024";
//licensed code
#endif
//register some events based on trail and Licensed
//create session based on trail and Licensed
//license check is happening after all the sessions and environments are created
}
}
public static class SomeStaticClass
{
public static string PropertyId { get; set; }
}
【问题讨论】:
-
改用
if。
标签: c# polymorphism preprocessor precompiler