【发布时间】:2017-05-08 08:49:31
【问题描述】:
源代码是 C# 并且有很多遗留代码。我使用带有 GUI 的 Winforms。
我使用源代码构建了一个程序集,但该程序集包含在两个不同的包中。第一个包是每个人都可以下载的免费演示应用程序(FApp),第二个包是非免费且更专业的应用程序(ProApp)。所以你明白这两个包没有相同的功能集。
在 ProApp 中定义了一个枚举类型。我有 FApp 的问题,因为并非枚举中的所有值都是相关的,它们不能以 GUI 的形式出现。这就是为什么我坚持条件编译的原因。但它会导致使用枚举的方法出现编译错误。枚举用于许多代码行。现在我不确定这是个好主意。
原代码:
public enum eCars {Toyota, Honda, Hyundai, BMW, Acura};
我不太好的解决方案: #if 应用程序 公共枚举 eCars {丰田、本田、现代}; #别的 公共枚举 eCars {丰田、本田、现代、宝马、讴歌}; #endif
就像我说的,使用枚举 eCars 的方法中有很多编译错误。
public static bool IsItHyundai(eCars car)
{
if (car == eCars.Hyundai)
return true;
return false;
}
您能否提出其他解决方案。
【问题讨论】:
标签: c# winforms enums compilation conditional