ObjectDisposedException Klasse
TOC
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern
Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

ObjectDisposedException-Klasse

 

Die Ausnahme, die beim Ausführen einer Operation für ein freigegebenes Objekt ausgelöst wird.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

System.Object
  System.Exception
    System.SystemException
      System.InvalidOperationException
        System.ObjectDisposedException

[SerializableAttribute]
[ComVisibleAttribute(true)]
public class ObjectDisposedException : InvalidOperationException

NameBeschreibung
System_CAPS_protmethodObjectDisposedException(SerializationInfo, StreamingContext)

Initialisiert eine neue Instanz der ObjectDisposedException-Klasse mit serialisierten Daten.

System_CAPS_pubmethodObjectDisposedException(String)

Initialisiert eine neue Instanz der ObjectDisposedException -Klasse mit einer Zeichenfolge, die den Namen des freigegebenen Objekts enthält.

System_CAPS_pubmethodObjectDisposedException(String, Exception)

Initialisiert eine neue Instanz der ObjectDisposedException-Klasse mit einer angegebenen Fehlermeldung und einem Verweis auf die innere Ausnahme, die diese Ausnahme ausgelöst hat.

System_CAPS_pubmethodObjectDisposedException(String, String)

Initialisiert eine neue Instanz der der ObjectDisposedException Klasse mit dem angegebenen Objektnamen und der Meldung.

NameBeschreibung
System_CAPS_pubpropertyData

Ruft eine Auflistung von Schlüssel-Wert-Paaren ab, die zusätzliche benutzerdefinierte Informationen über die Ausnahme bereitstellen.(Geerbt von Exception.)

System_CAPS_pubpropertyHelpLink

Ruft einen Link zur Hilfedatei ab, die dieser Ausnahme zugeordnet ist, oder legt einen Link fest.(Geerbt von Exception.)

System_CAPS_pubpropertyHResult

Ruft HRESULT ab oder legt HRESULT fest. Dies ist ein codierter Wert, der einer bestimmten Ausnahme zugeordnet ist.(Geerbt von Exception.)

System_CAPS_pubpropertyInnerException

Ruft die Exception-Instanz ab, die die aktuelle Ausnahme verursacht hat.(Geerbt von Exception.)

System_CAPS_pubpropertyMessage

Ruft die Meldung ab, in der der Fehler beschrieben wird.(Setzt "Exception.Message" außer Kraft.)

System_CAPS_pubpropertyObjectName

Ruft den Namen des freigegebenen Objekts ab.

System_CAPS_pubpropertySource

Gibt den Namen der Anwendung oder des Objekts zurück, die bzw. das den Fehler verursacht hat, oder legt diesen fest.(Geerbt von Exception.)

System_CAPS_pubpropertyStackTrace

Ruft eine Zeichenfolgendarstellung der unmittelbaren Frames in der Aufrufliste ab.(Geerbt von Exception.)

System_CAPS_pubpropertyTargetSite

Ruft die Methode ab, die die aktuelle Ausnahme auslöst.(Geerbt von Exception.)

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von Object.)

System_CAPS_protmethodFinalize()

Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Geerbt von Object.)

System_CAPS_pubmethodGetBaseException()

Gibt beim Überschreiben in einer abgeleiteten Klasse eine Exception zurück, die die ursprüngliche Ursache für eine oder mehrere nachfolgende Ausnahmen ist.(Geerbt von Exception.)

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von Object.)

System_CAPS_pubmethodGetObjectData(SerializationInfo, StreamingContext)

Ruft die SerializationInfo -Objekt mit dem Parameternamen und zusätzlichen Informationen zur Ausnahme.(Setzt "Exception.GetObjectData(SerializationInfo, StreamingContext)" außer Kraft.)

System_CAPS_pubmethodGetType()

Ruft den Laufzeittyp der aktuellen Instanz ab.(Geerbt von Exception.)

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von Object.)

System_CAPS_pubmethodToString()

Erstellt eine Zeichenfolgendarstellung der aktuellen Ausnahme und gibt diese zurück.(Geerbt von Exception.)

NameBeschreibung
System_CAPS_proteventSerializeObjectState

Tritt auf, wenn eine Ausnahme serialisiert wird, um ein Ausnahmezustandsobjekt zu erstellen, das serialisierte Daten für die Ausnahme enthält.(Geerbt von Exception.)

Eine ObjectDisposedException wird ausgelöst, wenn Sie versuchen, einen Member eines Objekts zuzugreifen, die implementiert die IDisposable -Schnittstelle, und dieses Objekt wurde verworfen. Diese Ausnahme wird normalerweise durch eine der folgenden Ursachen ausgelöst:

  • Sie haben ein Objekt namens Dispose Methode, und Sie versuchen, auf einen Instanzmember zuzugreifen, die Ruft ab oder legt den Zustand des Objekts. Das folgende Beispiel veranschaulicht die ObjectDisposedException die ausgelöst wird, wenn Sie versuchen, die Häufigkeit der Benachrichtigungen Timer zurückgesetzt, nach dem Aufruf der Timer.Dispose Methode.

    using System;
    using System.Threading;
    
    public class Example
    {
       public static void Main()
       {
          Timer t = new Timer(TimerNotification, null, 
                             100, Timeout.Infinite);
          Thread.Sleep(2000);
          t.Dispose();
    
          t.Change(200, 1000);                   
          Thread.Sleep(3000);
       }
    
       private static void TimerNotification(Object obj)
       {
          Console.WriteLine("Timer event fired at {0:F}", DateTime.Now);
       }
    }
    // The example displays output like the following:
    //    Timer event fired at Monday, July 14, 2014 11:54:08 AM
    //    
    //    Unhandled Exception: System.ObjectDisposedException: Cannot access a disposed object.
    //       at System.Threading.TimerQueueTimer.Change(UInt32 dueTime, UInt32 period)
    //       at Example.Main()
    
  • Sie haben ein Objekt namens Close Methode, und Sie versuchen, auf einen Instanzmember zuzugreifen, die Ruft ab oder legt den Zustand des Objekts. Häufig die Close Methode bietet öffentliche Implementierung des Typs der IDisposable.Dispose Methode.

  • Sie haben ein Objekt namens Dispose Methode mehrere Male. In der Regel wird eine Ausnahme ausgelöst. Abhängig von der wie ein Typ implementiert IDisposable.Dispose, dürfen Sie nicht mehrere Aufrufe zulassen Dispose.

In den meisten Fällen wird diese Ausnahme aus Entwickler Fehler ergibt. Anstatt die Fehlerbehandlung in einer try/catch Block, Sie müssen den Fehler in der Regel beheben, indem das Objekt umfangreichem.

Das folgende Beispiel veranschaulicht einen Fehler, der bewirkt, dass die ObjectDisposedException Ausnahme ausgelöst wird.

using System;
using System.IO;

public class ObjectDisposedExceptionTest 
{
   public static void Main()
   {     
      MemoryStream ms = new MemoryStream(16);
      ms.Close();
      try 
      {
         ms.ReadByte();
      } 
      catch (ObjectDisposedException e) 
      {
         Console.WriteLine("Caught: {0}", e.Message);
      }
   }
}

Dieser Code erzeugt die folgende Ausgabe:

Caught:
  Cannot access a closed Stream.

Universal Windows Platform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portable Class Library
Unterstützt in: portable .NET platforms
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1

Öffentliche statische (in Visual Basic freigegebene) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Zurück zum Anfang
Anzeigen:
© 2016 Microsoft