我有一個方法,需要檢索一個類型的大小,例如我需要一個字符串被返回,說「小」,「中」或「大」。所以我打電話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