2009-12-07 11 views
13

Od documentation:Dlaczego AppDomainSetup.ShadowCopyFiles ciąg znaków?

łańcuch zawierający ciąg znaków „true”, aby wskazać, że kopiowanie cień jest włączona; lub "false", aby wskazać, że kopiowanie w tle jest wyłączone.

I tak było od 1.1. Czy ktoś może rzucić jakiekolwiek światło?

I reflector'd getter i setter na dokładkę:

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; 

Więc może tablica Value rodzi łatwiejszy konstruktor kopiujący, czy coś?

Odpowiedz

12

Brak kofeiny. Niektóre rzeczy nie mają być rozumiane.

To najwyraźniej jest błędem z pierwszej wersji .NET, nie jest naprawione, ponieważ może złamać kod "starszej wersji".

Gosh, ja po prostu znaleźć to:

Dziękujemy za opinię na temat Framework! Zgadzamy się, że jest to niedopatrzenie i że typ właściwości powinien być wartością logiczną. Jest jednak dość trudne (jeśli nie niemożliwe) dokonanie tej zmiany w kompatybilnym wstecznym wydaniu (takim jak Orcas), ponieważ złamalibyśmy kod każdego klienta opierającego się na porównaniach łańcuchów. Tak więc niestety musimy rozważyć ryzyko zerwania kompatybilności a korzyści płynące z czystości API ... a jeśli chodzi o najlepsze wsparcie dla naszej bazy klientów, pierwsze z nich wygrywa. Będziemy śledzić to wewnętrznie jako dobrą rzecz do poprawienia, a my będziemy ją rozważać w przyszłych wydaniach.

Od here

Powiązane problemy