2009-12-07 62 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

相关问题