簡體   English   中英

設置布爾標志的最佳實踐

[英]Best practice for setting boolean flags

我正在尋找關於具有標記的類的最佳實踐,該標記決定了是否可以對該類執行操作。 整個類將在WCF REST服務中返回,並通過RIA服務在Silverlight GUI中使用,以便設置要為用戶啟用或禁用的某些操作按鈕。 我想知道以這種方式建立課程的最佳做法。 例如:

public class SomeCustomerClass
{
    private bool _canResetCustomer;
    public bool CanResetCustomer
    {
        get { return _canResetCustomer; } //TODO: Place GET logic here from DB if it's null
        set { _canResetCustomer = value; }
    }

    if (this._canResetCustomer)
    {
        ResetCustomer();
    }
...

看到我的“ TODO”? 我需要確定是否已設置bool。 如果尚未設置,則需要從數據庫的基於數據的規則列表中獲得該客戶的資格進行重置。 從我的角度來看,有兩個選項,我之前都使用過這兩個選項:

  1. 定義另一個布爾值,該布爾值跟蹤是否已設置CanReset,如下所示:

      public bool _canResetSet { get; set; } 
  2. 將我的布爾值更改為可為空的類型。 我認為在構造函數中,我必須使用_canResetCustomer = null實例化該對象。 也許?

不知道為什么我要問這個問題,除了也許我只是對可空類型不滿意。 整個困境是否會影響我設計事物的方式? 我通常也在Webforms應用程序中使用這種標記方法。

與nullable一起使用。 如果其HasValue等於false ,請檢查數據庫。 不需要在構造函數中將其設置為null,因為這是默認設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM