我希望我能以一种对所有人都清楚的方式解释我的问题.我们需要你的建议.
我们有一个枚举类型,它定义了超过15个常量.我们从Web服务接收报告,并将其一列转换为此Enum类型.根据我们从该Web服务收到的内容,我们使用Dictionary运行特定的功能
我为什么要求提出想法?假设这些Enum容器中的3个符合我们字典中的特定功能,但其余部分使用相同的功能.那么,有没有办法以更好的方式将它们添加到我们的字典中,而不是逐个添加它们?我也希望保留这种结构,因为在适当的时候,我们将来可能会为那些我称之为"其余"的函数提供特定的功能.
为了更清楚,这是我们正在尝试做的一个例子:
枚举:
public enum Reason{
ReasonA,
ReasonB,
ReasonC,
ReasonD,
ReasonE,
ReasonF,
ReasonG,
ReasonH,
ReasonI,
ReasonJ,
ReasonK
}
Run Code Online (Sandbox Code Playgroud)
定义我们的词典:
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 }
};
Run Code Online (Sandbox Code Playgroud)
基本上我要问的是,有没有办法更智能地添加Reason,Function对?因为您可以在ReasonC之后看到,所有其他原因使用相同的功能.
谢谢你的建议.