2009-12-07 169 views
13

documentation爲什麼AppDomainSetup.ShadowCopyFiles一個字符串?

一個包含字符串值「真」,以指示覆制的陰影的字符串被接通;或「false」表示陰影複製已關閉。

而且由於它的1.1一直這樣。任何人都可以擺脫光線嗎?

我reflector'd良好的措施getter和setter:

public string ShadowCopyFiles 
{ 
    get 
    { 
     return this.Value[8]; 
    } 
    set 
    { 
     if ((value != null) && (string.Compare(value, "true", StringComparison.OrdinalIgnoreCase) == 0)) 
     { 
      this.Value[8] = value; 
     } 
     else 
     { 
      this.Value[8] = null; 
     } 
    } 
} 

//The referenced Value property... 

internal string[] Value 
{ 
    get 
    { 
     if (this._Entries == null) 
     { 
      this._Entries = new string[0x10]; 
     } 
     return this._Entries; 
    } 
} 

private string[] _Entries; 

所以,也許Value陣列相生一個更簡單的拷貝構造函數或東西嗎?

回答

12

缺乏咖啡因。有些事情並不意味着被理解。

這顯然是從.NET的第一個版本錯誤,而不是固定的,因爲這可能會打破「傳統」的代碼。

天哪,我剛剛發現這一點:

感謝您在.NET Framework的反饋!我們同意這是一個疏忽,屬性類型應該是一個布爾值。然而,在向後兼容的版本(如Orcas)中進行這種更改是非常困難的(如果不是不可能的話),因爲我們會打破依賴字符串比較的任何客戶的代碼。所以不幸的是,我們必須權衡兼容性風險與API清潔度的好處......當涉及到最好的支持我們的客戶羣時,前者通常會贏。我們會在內部跟蹤這是一件好事,我們會在未來的版本中繼續考慮它。

here

相關問題