Ich habe eine Klasse, die eine Zeichenfolge sammelt. Es gibt eine Methode Commit, die die Zeichenfolge in eine Zieldatei schreibt.C#: Wie kann man sicherstellen, dass die Klasse die Arbeit beendet hat, ohne auf Abhängige angewiesen zu sein?
Wenn eine Zeichenfolge erfasst wird, die Festschreibung jedoch nie aufgerufen wird, möchte ich einen Fehler in einer Protokolldatei melden.
IDisposable
wird das Problem nicht lösen, weil Abhängige vergessen werden, es aufzurufen.
implementiert ich einen Finalizer, bekam aber Compiler-Fehler:
The class has a finalizer implemented in it.
Consider deriving from IDisposable, CriticalFinalizerObject or SafeHandle, instead.
Ich kann nicht Compiler-Einstellungen in meinem Unternehmen ändern. Und die vorgeschlagenen Optionen scheinen zu kompliziert zu sein. Irgendwelche Ideen, wie ich Validierung für Commit implementiere?
Was ist der Grund, warum Commit nicht ausgeführt wird? –
Können Sie nicht einfach die Methode Commit einen booleschen Wert zurückgeben; true, wenn das Commit ausgeführt wird? Ein Code in Ihrer Frage könnte übrigens hilfreich sein. –
Sie können dies tun, indem Sie eine Variable oder einen Rückgabetyp verwenden. –