我希望我能以每个人都清楚的方式解释我的问题。
我们需要您对此的建议。
我们有一个枚举类型,它定义了超过 15 个常量。
我们收到来自 Web 服务的报告,并将其一列转换为此枚举类型。
根据我们从该网络服务收到的信息,我们使用以下命令运行特定功能
字典
我为什么要征求意见?
假设这些 Enum 内容中的 3 个满足我们字典中的特定功能,但其余的使用相同的功能。那么,有没有一种方法可以更好地将它们添加到我们的词典中,而不是逐一添加呢?我还想保留这个结构,因为到时候,我们可能会在未来为我所描述的“其余部分”提供特定的功能。
为了更清楚起见,这里有一个我们正在尝试做的示例:
Enum:
public enum Reason{
ReasonA,
ReasonB,
ReasonC,
ReasonD,
ReasonE,
ReasonF,
ReasonG,
ReasonH,
ReasonI,
ReasonJ,
ReasonK
}
定义我们的字典:
public Dictionary<Reason, Action<CustomClassObj, string>> ReasonHandlers = new Dictionary<Reason, Action<CustomClassObj, string>>{
{ Reason.ReasonA, HandleReasonA },
{ Reason.ReasonB, HandleReasonB },
{ Reason.ReasonC, HandleReasonC },
{ Reason.ReasonD, HandleReasonGeneral },
{ Reason.ReasonE, HandleReasonGeneral },
{ Reason.ReasonF, HandleReasonGeneral },
{ Reason.ReasonG, HandleReasonGeneral },
{ Reason.ReasonH, HandleReasonGeneral },
{ Reason.ReasonI, HandleReasonGeneral },
{ Reason.ReasonJ, HandleReasonGeneral },
{ Reason.ReasonK, HandleReasonGeneral }
};
所以基本上我要问的是,有没有办法添加原因、功能配对更智能?因为正如您在 ReasonC 之后所看到的,所有其他原因都使用相同的函数。
谢谢你的建议。