Ich fand SystemWrapper einige Minuten vor deins, aber deins passt besser zu meinen Zwecken.
Alle guten Antworten, aber alle haben mich verlassen, wo ich angefangen habe - ich habe für jedes Projekt, an dem ich am Ende arbeite, eine Art IFileSystem erstellt. Am Ende habe ich eine generische IFileSystem -Bibliothek erstellt um die .NET-Bibliotheken, die ich zwischen all meinen Projekten wiederverwenden kann. Nicht großartig, aber es funktioniert jetzt.
Es gibt auch eine FileInfo-Klasse , die dieselben Funktionen wie die statischen Methoden.
Auf der anderen Seite möchten Sie wahrscheinlich nicht die gesamte FileInfo-Klasse überspielen. Stattdessen möchten Sie alle Ihre Dateioperationen in einer einzigen Klasse ablegen, dann eine Schnittstelle aus der Klasse extrahieren (die öffentlichen Methoden beschreiben) und die Oberfläche verwenden, um die Dateioperationen zu imitieren, die Sie ausführen. nicht die gesamte Reihe von Operationen, die nach Meinung von Microsoft in der FileInfo-Klasse sein sollten.
Ich pflege das Jolt.NET -Projekt auf CodePlex, das eine Bibliothek enthält, um solche Schnittstellen und deren Implementierungen für Sie zu generieren. Weitere Informationen finden Sie in der Jolt.Testing -Bibliothek.
Anstatt nach einer Bibliothek zu suchen, die das gesamte Dateisystem umschließt. Erstellen Sie eine einfache IFileSystem-Schnittstelle und fügen Sie die benötigten Methoden hinzu.
Der Rest Ihrer Anwendung sollte von IFileSystem abhängig sein, wodurch Sie sich lustig machen können
Sie können eine Implementierung haben, die einfach die statischen Methoden aufruft, die .Net Ihnen gibt, und dann kann Ihr Code von der Schnittstelle abhängen.