我有一個對象具有兩個屬性:Text
和Type
。避免在switch語句中硬編碼
爲了避免對類型進行硬編碼,我將它們放在數據庫中,以便將來可以添加它們。目前這些類型是URL, Username and ID
。
但是,我現在想要運行一個實用程序方法來清理對象的Text
字段,該字段基於哪個對象是Type
(例如,如果其URL爲「http://」則添加該對象)。
有沒有方法可以在Utilities類中執行此操作,而無需在switch語句/ if else塊中對這些類型進行硬編碼。
switch (type)
{
case 1:
TidyUrl();
case 2:
TidyUsername();
case 3:
TidyID();
default:
break;
}
在這個例子中,我從數據庫(「類型」表),這絕不是一件好事硬編碼的ID!
有沒有更好的方法來做到這一點?
無論我使用接口和工廠,數據庫中的枚舉器或方法名稱似乎都無法繞過if/else邏輯,這將需要在哪個地方說哪個是哪個,而這就是我不能鰭d一種避免硬編碼的方法。 – finoutlook