首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么AppDomain.ShadowCopyFiles是字符串?

为什么AppDomain.ShadowCopyFiles是字符串?
EN

Stack Overflow用户
提问于 2013-12-29 23:57:50
回答 1查看 1.2K关注 0票数 6

ShadowCopy在.Net中有通过复制程序集来保持文件锁定的功能。有两个属性:

  1. 使用AppDomain.ShadowCopyFiles的AppDomainSetup
  2. 将其存储在内部AppDomainSetup.ShadowCopyFiles中的string[]

AppDomainSetupstring Value[]字段,用于存储配置。奇怪的是,AppDomainSetup.ShadowCopyFiles是一个字符串属性,我们需要设置"true""false",而不是真正的bool类型。

下面是AppDomainSetup中该属性的实现

代码语言:javascript
复制
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] = (string) null;
  }
}

下面是AppDomain.ShadowCopyFiles的一个实现:

代码语言:javascript
复制
public bool ShadowCopyFiles 
{ 
    get {
        String s = FusionStore.ShadowCopyFiles; 
        if((s != null) &&
           (String.Compare(s, "true", StringComparison.OrdinalIgnoreCase) == 0))
            return true;
        else 
            return false;
    } 
} 

但是为什么在AppDomainSetup中这个属性是string呢?为什么微软没有像在bool中那样使用某些AppDomain.ShadowCopyFiles转换逻辑

奇怪的是,位于AppDomainSetup中的代码有点难闻,而我只是在想,这是否真的是我所错过的原因呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-30 00:19:40

在.NET的早期版本中,这是一个错误,MS已经决定不修复它,因为它会破坏现有的代码。

看这个链接。

http://connect.microsoft.com/VisualStudio/feedback/details/295269/appdomainsetup-shadowcopyfiles-should-be-of-the-type-bool-instead-of-string

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20831482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档