我陷入了下面的情景,
我有供客户使用的提供商(如INGO,Chexar,Western Union,TSys等)列表,提供各种服务,如汇款,账单支付等。
现在的问题是我正在为多个客户重复使用我的项目。假设CustomerA使用 - Western Union,Tsys然后客户B可能使用 - VISA,INGO等。
在我的UI中,我有一个标签控件,我将提供程序名称显示为选项卡的文本,但这取决于客户。所以我添加了所有客户的所有提供商作为标签。
所以这里的问题是在我的行动方法中我得到的提供商名单说INGO,TSys for CustomerA。由于我的UI包含所有提供程序,因此我需要过滤并仅显示INGO和TSys选项卡。
一种解决方案是使用类似-INGO的标志必需,如果为真,则添加INGO选项卡和TsysRequired如果为真,添加TSys选项卡等等。
但是我想要一个通用的解决方案,就像为客户添加新的提供商一样,我不应该改变我的代码。
答案 0 :(得分:0)
你必须以某种方式使用标志来指示标签的开关,而不是使用boolen变量,使用像
这样的字典对象Dictionay<string,boolean> availableTags = new Dictionay<string,boolean>();
availableTags["INGO"] = true;
availableTags["TSys"] = false;
然后你可以在字典上循环来决定哪个标签显示哪个标签不显示。如果您有更复杂的要求或场景而不是字典,您可以使用List进行决策和操作。