2012-03-10 74 views
1

我已經創建了下面的類如何在C#創建靜態類的屬性4.0

靜態類CustomerServiceData.cs

namespace QSys.Library.Security 
{ 
    public static class CustomerServiceData 
    { 
     public static bool CompanyNameUpdatable 
     { 
      get; 
      set; 
     } 
     public static bool AddressUpdatable 
     { 
      get; 
      set; 
     } 
     public static bool CityUpdatable 
     { 
      get; 
      set; 
     } 
    } 
} 

現在我設定靜態類的數值如下。 CustomerDataService.cs

namespace QSys.Web.Services 
{ 
    public class CustomerDataService : DomainService 
    { 
public void GetCustomerDataService() 
     { 
      CustomerServiceData.CompanyNameUpdatable = true; 
      CustomerServiceData.AddressUpdatable = true; 
      CustomerServiceData.CityUpdatable = true; 
     } 
    } 
} 

在這裏,我想創建靜態類屬性,它會返回整個靜態類像CustomerViewModel.cs

public class CustomerViewModel : NotificationObject 
{ 
#region Properties 
     public CustomerServiceData SecurityData 
     { 
      get 
      { 
       // I HAVE RETURN CustomerServiceData AS STATIC 
       //What should be coming here...? 
       return CustomerServiceData; 
      } 
     } 
     public Customer Customer 
     { 
      get { return _customer; } 
      set 
      { 
       _customer = value; 
       RaisePropertyChanged(() => Customer); 
      } 
     } 
     #endregion 
} 

任何意見和建議,將不勝感激!

由於事先 Imdadhusen

回答

3

你不能 - 有沒有這樣的概念,爲返回類本身,你不能使用靜態類作爲參數類型,返回類型,變量類型等

可能CustomerServiceData變成一個非靜態類,但使它成爲一個單身...但個人,我會阻止它完全靜態。靜態數據 - 全局變量,基本上 - 很難測試你的代碼並正確地推理它。儘可能避免全局數據。考慮共享數據需要什麼,以及獲取它的最佳方式(例如依賴注入,提供程序,將數據傳遞給方法等)。

您的CustomerDataService.GetCustomerDataService方法(有點奇怪地命名)應該*返回CustomerServiceData而不僅僅是更新靜態屬性。