?
Ja, ich geb zu, es hätte auch gut in Rund um die Programmierung gepasst. Das Programm ist in C# geschrieben, vielleicht gibt es eine Sprachenspezifische Lösung (Dispose oder Ähnliches), daher ist es hier drin.
Klar kann man das alles ohne Klassen machen, aber ich habe hier ein größeres Konstrukt, welches Klassen nunmal erfordert.
Ich versuche mal, es nochmal anders zu erklären:
Ich habe drei Klassen, welche jeweils für einen Dateityp stehen, diesen de/serialisieren und das Model für bestimmte ViewModels/Views darstellen.
In Datei A werden Dateien B und C referenziert. Datei C wird dabei immer über einen FileManager geladen und verwaltet, da es viele Datei-A Objekte im Programm gibt, die die selbe Datei C referenzieren (so muss Datei C nicht mehrfach im Speicher gehalten werden).
Datei A hängt zusätzlich von Datei B ab. Das heißt, wird B verändert, müssen auch alle A-Dateien angepasst werden, welche Datei B referenzieren. Auf diesen Punkt bezieht sich meine Frage, denn ich muss dann jedesmal auch das Filehandle für C zurückgeben (naja, eigentlich zähle ich nur einen Zähler runter..)
Pseudocode:
ChangeFileTypeB();
foreach (string file in allAFilePathesUsingB)
{
file.open(); // Alles was gemacht werden muss, erfolgt hier
// Nun muss das Handle auf Dateityp C zurückgegeben werden.. diesen Aufruf würde ich mir gern sparen..
FileManagerForFileTypeC.ReturnHandle(file.C_filehandle);
}
Leider ist es mir schon passiert, dass ich das returnHandle vergessen habe aufzurufen, daher würde ich es irgenwie anders lösen wollen. Ich steh grad aufm Schlauch und bin vielleicht nur müde...
Hoffe, das war etwas verständlicher.