這是一個非常簡單的問題,但我真的很想知道什麼是好的做法。擁有單一值的枚舉是合適的嗎?
我有一個包含日誌子系統的系統。日誌包含有關用戶標識的信息。簡化日誌記錄如下:
log.RegisterEvent(eventType, userID, eventDetails);
某些事件是系統事件,它們沒有關聯用戶ID。由於用戶ID是正整數,我認爲0表示事件不reffer用戶:
log.RegisterEvent(eventType, 0, eventDetails);
但把0也只是...不正確的。我想用枚舉,如:
enum UserID
{
None = 0
}
但它是確定有一個枚舉只有一個值? 最好使用一個靜態常量? 或者這是更好的方法?
我懷疑這歸結爲編碼風格。我個人建立了一個常數。尤其是,自從傳入一個枚舉時,否則使用整數似乎比具有一個值的枚舉更加噁心。 – Chris 2012-08-08 09:56:19
也許你的userID可能是可以爲空的類型'int?',然後你就不需要這個枚舉了? – 2012-08-08 09:58:28
@Jeppe Stig Nielsen:可空類型int的漂亮ideea。它集成相當不錯,最終將日誌添加到數據庫,其中UserID列是可以爲空和int?作爲一種類型。 – 2012-08-08 11:09:39