【发布时间】:2017-08-27 07:04:44
【问题描述】:
我正在尝试找到处理以下情况的最优雅的方法:
class ObjectA
{
public enum MandatoryParameters {A, B, C}
public enum OptionalParameters {D, E, F}
}
class ObjectB
{
public enum MandatoryParameters {G, H, I}
public enum OptionalParameters {J, K}
}
class Error
{
MandatoryOrOptionalParameters param;
string errorDescription;
Error(MandatoryOrOptionalParameters p, string d)
{
param = p;
errorDescription = d;
}
}
有什么好的方法可以创建MandatoryOrOptionalParameters 类型来避免string?我阅读了一些相关的消息here 和here。
【问题讨论】:
-
听起来像 XY problem,您的解决方案 Y 将是 “我知道,我将使用枚举”,这是问题 X 开始时的次优解决方案.解释你为什么选择枚举,以及你将如何使用它们,所以也许可以建议一个更好的设计。
-
检查枚举类型的标志属性
-
智能评论 CodeCaster :-) 我在发帖时有这种感觉。枚举值表示在序列化过程中填充的对象属性。我将枚举类型用于 1)强制循环并检查 null 值是否 => 引发错误,2)创建验证错误列表,以 Field/ErrorDescription 的形式显示。