Aracılığıyla paylaş


<TimeSpan_LegacyFormatMode> Öğe

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

<configuration>
  <runtime>
    <TimeSpan_LegacyFormatMode>

Sözdizimi

<TimeSpan_LegacyFormatMode
   enabled="true|false"/>

Nitelikler ve Öğeler

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

Özellikler

Ö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.

enabled Özellik

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.

Ana Öğeler

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

Açıklamalar

.NET Framework 4'ten System.TimeSpan başlayarak, yapı arabirimi uygular IFormattable ve standart ve özel biçim dizeleriyle biçimlendirme işlemlerini destekler. Ayrıştırma yöntemi desteklenmeyen bir biçim belirticisi veya biçim dizesiyle karşılaşırsa, bir FormatException.

.NET Framework'ün önceki sürümlerinde, TimeSpan yapı biçim dizelerini uygulamadı IFormattable ve desteklemiyordu. Bununla birlikte, birçok geliştirici yanlışlıkla bir dizi biçim dizesini desteklediğini varsaydı TimeSpan ve bunları gibi yöntemlerle String.Format kullandı. Normalde, bir tür biçim dizelerini uygular IFormattable ve desteklerse, desteklenmeyen biçim dizelerine sahip biçimlendirme yöntemlerine yapılan çağrılar genellikle bir FormatException. Ancak, didn't implement TimeSpanolduğundanIFormattable, çalışma zamanı biçim dizesini yoksayar ve bunun yerine yöntemi çağırırTimeSpan.ToString(). Bu, biçim dizelerinin biçimlendirme işlemi üzerinde hiçbir etkisi olmamasına rağmen, varlıklarının bir FormatException.

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

Örnek

Aşağıdaki örnek, bir TimeSpan nesneyi başlatır ve desteklenmeyen bir standart biçim dizesi String.Format(String, Object) kullanarak bu nesneyi yöntemle 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ıyı görüntüler:

12:30:45

Bu, örneği .NET Framework 4 veya sonraki bir sürümde çalıştırırsanız, çıktıdan önemli ölçüde farklıdır:

Invalid Format

Ancak, aşağıdaki yapılandırma dosyasını örneğin dizinine ekler ve örneği .NET Framework 4 veya sonraki bir sürümde çalıştırırsanız, çıktı, .NET Framework 3.5 üzerinde ç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.