<> TimeSpan_LegacyFormatMode Öğesi

Çalışma zamanının değerlerle System.TimeSpan biçimlendirme işlemlerinde eski davranışı koruyup korumadığını belirler.

<Yapılandırma>
  <Çalışma zamanı>
    <TimeSpan_LegacyFormatMode>

Syntax

<TimeSpan_LegacyFormatMode
   enabled="true|false"/>

Öznitelikler ve Öğeler

Öznitelikler, alt ve üst öğeler aşağıdaki bölümlerde açıklanmaktadır.

Öznitelikler

Öznitelik Açıklama
enabled Gerekli öznitelik.

Çalışma zamanının değerlerle System.TimeSpan eski biçimlendirme davranışını kullanıp kullanmadığını belirtir.

etkin Öznitelik

Değer Açıklama
false Çalışma zamanı eski biçimlendirme davranışını geri yüklemez.
true Çalışma zamanı eski biçimlendirme davranışını geri yükler.

Alt Öğeler

Yok.

Üst Öğeler

Öğe Açıklama
configuration Her yapılandırma dosyasında yer alan ve ortak dil çalışma zamanı ve .NET Framework uygulamaları tarafından kullanılan kök öğe.
runtime Çalışma zamanı başlatma seçenekleri hakkında bilgi içerir.

Açıklamalar

.NET Framework 4'den başlayarak, System.TimeSpan yapı arabirimini uygular IFormattable ve standart ve özel biçim dizeleriyle biçimlendirme işlemlerini destekler. Ayrıştırma yöntemi desteklenmeyen biçim tanımlayıcısı veya biçim dizesiyle karşılaşırsa, bir FormatExceptionoluşturur.

.NET Framework TimeSpan önceki sürümlerinde yapı, biçim dizelerini uygulamadı IFormattable ve desteklemedi. Ancak, birçok geliştirici yanlışlıkla bir dizi biçim dizesini desteklediğini ve bunları gibi String.Formatyöntemlerle bileşik biçimlendirme işlemlerinde kullandığını varsayarTimeSpan. Normalde, bir tür biçim dizelerini IFormattable uygular ve desteklerse, desteklenmeyen biçim dizelerine sahip biçimlendirme yöntemlerine yapılan çağrılar genellikle bir FormatExceptionoluşturur. Ancak, TimeSpan uygulamadığından IFormattableçalışma zamanı biçim dizesini yoksaydı ve bunun yerine yöntemini çağırdı TimeSpan.ToString() . Bu, biçim dizelerinin biçimlendirme işlemi üzerinde hiçbir etkisi olmasa da, iletişim durumlarının bir FormatExceptionile sonuçlanmadığı anlamına gelir.

Eski kodun bileşik biçimlendirme yöntemini ve geçersiz bir biçim dizesini geçtiği ve bu kodun yeniden derlenemediği durumlarda, eski TimeSpan davranışı geri yüklemek için öğesini kullanabilirsiniz<TimeSpan_LegacyFormatMode>. Bu öğenin özniteliğini olarak ayarladığınızda enabled bileşik biçimlendirme yöntemi yerine çağrısıyla TimeSpan.ToString(String, IFormatProvider)TimeSpan.ToString() sonuçlanır ve bir FormatException atılmaz.true

Örnek

Aşağıdaki örnek bir TimeSpan nesnenin örneğini oluşturur ve desteklenmeyen String.Format(String, Object) bir standart biçim dizesi kullanarak bunu yöntemiyle biçimlendirmeye çalışır.

using System;

public class Example
{
   public static void Main()
   {
      TimeSpan interval = new TimeSpan(12, 30, 45);
      string output;
      try {
         output = String.Format("{0:r}", interval);
      }
      catch (FormatException) {
         output = "Invalid Format";
      }
      Console.WriteLine(output);
   }
}
Module Example
    Public Sub Main()
        Dim interval As New TimeSpan(12, 30, 45)
        Dim output As String
        Try
            output = String.Format("{0:r}", interval)
        Catch e As FormatException
            output = "Invalid Format"
        End Try
        Console.WriteLine(output)
    End Sub
End Module

Örneği .NET Framework 3.5 veya önceki bir sürümde çalıştırdığınızda, aşağıdaki çıktı görüntülenir:

12:30:45

Örneği .NET Framework 4 veya sonraki bir sürümde çalıştırırsanız bu, çıkıştan belirgin olarak farklıdır:

Invalid Format

Ancak, aşağıdaki yapılandırma dosyasını örneğin dizinine ekleyip örneği .NET Framework 4 veya sonraki bir sürümde çalıştırırsanız çıktı, .NET Framework 3.5'te çalıştırıldığında örnek tarafından üretilen çıktıyla aynıdır.

<?xml version ="1.0"?>
<configuration>
   <runtime>
      <TimeSpan_LegacyFormatMode enabled="true"/>
   </runtime>
</configuration>

Ayrıca bkz.