我有一个方法,需要检索一个类型的大小,例如我需要一个字符串被返回,说“小”,“中”或“大”。所以我打电话GetSize(int size)
。但我也需要知道我想如何返回尺寸,我想返回“小”还是想返回“s”。所以方法增长到GetSize(int size, enum format)
。如何有效地设计一种方法,其中每个条件都依赖于另一个条件?
现在我可以做一个开关的情况下,但它会
switch (size)
{
case SMALL_SIZE:
switch(format)
case format::short
case format::long
}
所以我会做任何情况下为“大小”里面的开关情况。我也可以将其分解并调用一种方法来获取每种大小的格式。
这看起来像很多工作,我只有3个大小的情况下,但想象这是其他事情的10个案例。我的解决方案最好还是有更好的方法?
怎么样的地图<对,字符串>或类似的? –
PlasmaHH
2012-03-08 14:28:42
这将取决于每个'case format :: X'中实际采取的操作。如果有规则,那么你很可能会考虑因素。如果每个案例都是特定的,那将会更困难。试着提供更多关于该方法的用途(更理想的代码)。 – 2012-03-08 14:29:14
两种不同的功能呢? 'GetSizeShort(int size)'和'GetSizeLong(int size)' – Tim 2012-03-08 14:38:51